mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-09 03:52:19 +02:00
Mixin name uniquing, 'this' for mixins
This commit is contained in:
parent
1a17780847
commit
4d53f185d8
8 changed files with 180 additions and 93 deletions
|
@ -4325,6 +4325,27 @@ void COFF::FixupInlinee(DbgSubprogram* dbgSubprogram, uint32 ipiTag)
|
|||
lfMFuncId* funcData = (lfMFuncId*)dataStart;
|
||||
CvParseMethod(NULL, NULL, funcData->type, false, dbgSubprogram);
|
||||
dbgSubprogram->mName = (const char*)funcData->name;
|
||||
|
||||
if (dbgSubprogram->mName != NULL)
|
||||
{
|
||||
for (const char* cPtr = dbgSubprogram->mName + 1; true; cPtr++)
|
||||
{
|
||||
char c = *cPtr;
|
||||
if (c == 0)
|
||||
break;
|
||||
// For removing the mangled name from the mixins
|
||||
if (c == '?')
|
||||
{
|
||||
int nameLen = cPtr - dbgSubprogram->mName;
|
||||
char* dupStr = (char*)mAlloc.AllocBytes(nameLen + 1);
|
||||
memcpy(dupStr, dbgSubprogram->mName, nameLen);
|
||||
dupStr[nameLen] = 0;
|
||||
dbgSubprogram->mName = dupStr;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FixSubprogramName(dbgSubprogram);
|
||||
|
||||
dbgSubprogram->mParentType = CvGetType(funcData->parentType);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue