mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-09 03:52:19 +02:00
Fixed generic arg reification issue
This commit is contained in:
parent
97d7324874
commit
abd883212f
1 changed files with 21 additions and 1 deletions
|
@ -580,7 +580,18 @@ void BfModule::InitType(BfType* resolvedTypeRef, BfPopulateType populateType)
|
|||
// (genericTypeInst->mGenericParams.size() == genericTypeInst->mTypeGenericArguments.size()));
|
||||
|
||||
for (auto typeGenericArg : genericTypeInst->mGenericTypeInfo->mTypeGenericArguments)
|
||||
BF_ASSERT((typeGenericArg->mRebuildFlags & BfTypeRebuildFlag_Deleted) == 0);
|
||||
{
|
||||
BF_ASSERT((typeGenericArg->mRebuildFlags & BfTypeRebuildFlag_Deleted) == 0);
|
||||
if (mIsReified)
|
||||
{
|
||||
// Try to reify any generic args
|
||||
for (auto genericArg : typeInst->mGenericTypeInfo->mTypeGenericArguments)
|
||||
{
|
||||
if (!genericArg->IsReified())
|
||||
PopulateType(genericArg, BfPopulateType_Declaration);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!mContext->mSavedTypeDataMap.IsEmpty())
|
||||
|
@ -984,6 +995,15 @@ void BfModule::PopulateType(BfType* resolvedTypeRef, BfPopulateType populateType
|
|||
// }
|
||||
// else
|
||||
// mContext->RebuildType(typeInst, false, false);
|
||||
|
||||
if (typeInst->mGenericTypeInfo != NULL)
|
||||
{
|
||||
for (auto genericArg : typeInst->mGenericTypeInfo->mTypeGenericArguments)
|
||||
{
|
||||
if (!genericArg->IsReified())
|
||||
PopulateType(genericArg, BfPopulateType_Declaration);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue