mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-10 12:32:20 +02:00
Handling new enum debug info
This commit is contained in:
parent
f10551e6f8
commit
b0f50fbda6
1 changed files with 15 additions and 8 deletions
|
@ -823,8 +823,15 @@ void COFF::CvParseMembers(DbgType* parentType, int tagIdx, bool ipi)
|
|||
data = (uint8*)&baseClassInfo.offset;
|
||||
baseTypeEntry->mThisOffset = (int)CvParseConstant(data);
|
||||
if (baseClassInfo.index != 0)
|
||||
{
|
||||
{
|
||||
baseTypeEntry->mBaseType = CvGetType(baseClassInfo.index);
|
||||
|
||||
// if (parentType->mLanguage == DbgLanguage_Beef)
|
||||
// {
|
||||
// if (!parentType->mBaseTypes.IsEmpty())
|
||||
// parentType->mTypeParam = baseTypeEntry->mBaseType;
|
||||
// }
|
||||
|
||||
parentType->mBaseTypes.PushBack(baseTypeEntry);
|
||||
parentType->mAlign = std::max(parentType->mAlign, baseTypeEntry->mBaseType->GetAlign());
|
||||
|
||||
|
@ -980,14 +987,14 @@ void COFF::CvParseMembers(DbgType* parentType, int tagIdx, bool ipi)
|
|||
}
|
||||
char* fieldName = (char*)_ParseString();
|
||||
|
||||
if ((fieldName != NULL) && (strcmp(fieldName, "$prim") == 0))
|
||||
if ((fieldName != NULL) && (parentType->mLanguage == DbgLanguage_Beef))
|
||||
{
|
||||
DbgType* fieldType = CvGetType(fieldTypeId);
|
||||
DbgBaseTypeEntry* baseTypeEntry = mAlloc.Alloc<DbgBaseTypeEntry>();
|
||||
baseTypeEntry->mThisOffset = 0;
|
||||
baseTypeEntry->mBaseType = fieldType;
|
||||
parentType->mBaseTypes.PushFront(baseTypeEntry);
|
||||
break;
|
||||
if (strcmp(fieldName, "$prim") == 0)
|
||||
{
|
||||
parentType->mTypeParam = CvGetType(fieldTypeId);
|
||||
if ((parentType->mBaseTypes.mHead != NULL) && (strcmp(parentType->mBaseTypes.mHead->mBaseType->mName, "System.Enum") == 0))
|
||||
parentType->mTypeCode = DbgType_Enum;
|
||||
}
|
||||
}
|
||||
|
||||
int64 constVal = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue