1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 04:22:20 +02:00

Improved issues with enums with code emissions

This commit is contained in:
Brian Fiete 2024-10-23 16:50:50 -04:00
parent 2a8a68e5d1
commit 35271626aa
3 changed files with 19 additions and 6 deletions

View file

@ -2691,14 +2691,20 @@ BfType* BfTypeInstance::GetUnderlyingType()
{
if (!checkTypeInst->mFieldInstances.empty())
{
mTypeInfoEx->mUnderlyingType = checkTypeInst->mFieldInstances.back().mResolvedType;
return mTypeInfoEx->mUnderlyingType;
auto& lastField = checkTypeInst->mFieldInstances.back();
if (lastField.mFieldIdx == -1)
{
auto underlyingType = lastField.mResolvedType;
BF_ASSERT(underlyingType != this);
mTypeInfoEx->mUnderlyingType = underlyingType;
return mTypeInfoEx->mUnderlyingType;
}
}
checkTypeInst = checkTypeInst->mBaseType;
if (checkTypeInst->IsIncomplete())
if ((checkTypeInst != NULL) && (checkTypeInst->IsIncomplete()))
mModule->PopulateType(checkTypeInst, BfPopulateType_Data);
}
BF_FATAL("Failed");
//BF_FATAL("Failed");
return mTypeInfoEx->mUnderlyingType;
}