Commit a58259d
committed
Additional MSVC Demangling bug fixes
Fix demangler backrefs and type-node formatting
Fix MSVC demangler parsing for scoped backrefs, template and
local-name contexts, member pointers, enum signedness, varargs,
RTTI names, thunks, and pointer/function modifier edge cases.
Update shared demangled type-node construction and GNU3 pointer suffix
formatting so demangled types produce stable type/name strings without
encoding invalid intermediate types.
Fix MSVC member function pointer demangling
Parse P8 member function pointer types as member pointers instead of
plain function pointers, preserving the owning class in the demangled
type node. Keep finalization returning a real Type so callers retain
callable type information, even though Binary Ninja cannot represent
exact C++ member function pointer declarator placement.
Move implicit this handling into DemangledTypeNode finalization so
top-level function Types receive a synthetic this parameter, while
stringified nested/template symbols omit it.
Also tighten nested function pointer parsing so implicit this is not
added to function pointer parameter and return types.1 parent 0a5390f commit a58259d
7 files changed
Lines changed: 1011 additions & 592 deletions
0 commit comments