mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-12 05:14:10 +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;
|
data = (uint8*)&baseClassInfo.offset;
|
||||||
baseTypeEntry->mThisOffset = (int)CvParseConstant(data);
|
baseTypeEntry->mThisOffset = (int)CvParseConstant(data);
|
||||||
if (baseClassInfo.index != 0)
|
if (baseClassInfo.index != 0)
|
||||||
{
|
{
|
||||||
baseTypeEntry->mBaseType = CvGetType(baseClassInfo.index);
|
baseTypeEntry->mBaseType = CvGetType(baseClassInfo.index);
|
||||||
|
|
||||||
|
// if (parentType->mLanguage == DbgLanguage_Beef)
|
||||||
|
// {
|
||||||
|
// if (!parentType->mBaseTypes.IsEmpty())
|
||||||
|
// parentType->mTypeParam = baseTypeEntry->mBaseType;
|
||||||
|
// }
|
||||||
|
|
||||||
parentType->mBaseTypes.PushBack(baseTypeEntry);
|
parentType->mBaseTypes.PushBack(baseTypeEntry);
|
||||||
parentType->mAlign = std::max(parentType->mAlign, baseTypeEntry->mBaseType->GetAlign());
|
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();
|
char* fieldName = (char*)_ParseString();
|
||||||
|
|
||||||
if ((fieldName != NULL) && (strcmp(fieldName, "$prim") == 0))
|
if ((fieldName != NULL) && (parentType->mLanguage == DbgLanguage_Beef))
|
||||||
{
|
{
|
||||||
DbgType* fieldType = CvGetType(fieldTypeId);
|
if (strcmp(fieldName, "$prim") == 0)
|
||||||
DbgBaseTypeEntry* baseTypeEntry = mAlloc.Alloc<DbgBaseTypeEntry>();
|
{
|
||||||
baseTypeEntry->mThisOffset = 0;
|
parentType->mTypeParam = CvGetType(fieldTypeId);
|
||||||
baseTypeEntry->mBaseType = fieldType;
|
if ((parentType->mBaseTypes.mHead != NULL) && (strcmp(parentType->mBaseTypes.mHead->mBaseType->mName, "System.Enum") == 0))
|
||||||
parentType->mBaseTypes.PushFront(baseTypeEntry);
|
parentType->mTypeCode = DbgType_Enum;
|
||||||
break;
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int64 constVal = 0;
|
int64 constVal = 0;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue