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

Fixed re-partialization of orphaned extensions

This commit is contained in:
Brian Fiete 2020-05-25 12:01:37 -07:00
parent 46751bb706
commit e25f8901a5

View file

@ -3092,7 +3092,7 @@ void BfCompiler::UpdateRevisedTypes()
if (checkTypeDef != rootTypeDef) if (checkTypeDef != rootTypeDef)
{ {
if ((checkTypeDef->mIsCombinedPartial) || if ((checkTypeDef->mIsCombinedPartial) ||
(!checkTypeDef->mIsPartial) || ((!checkTypeDef->mIsPartial) && (checkTypeDef->mTypeCode != BfTypeCode_Extension)) ||
(checkTypeDef->mPartialUsed) || (checkTypeDef->mPartialUsed) ||
(!checkTypeDef->NameEquals(rootTypeDef)) || (!checkTypeDef->NameEquals(rootTypeDef)) ||
(checkTypeDef->mGenericParamDefs.size() != rootTypeDef->mGenericParamDefs.size()) || (checkTypeDef->mGenericParamDefs.size() != rootTypeDef->mGenericParamDefs.size()) ||
@ -3103,6 +3103,12 @@ void BfCompiler::UpdateRevisedTypes()
} }
} }
if (checkTypeDef->mTypeCode == BfTypeCode_Extension)
{
// This was an extension that was orphaned but now we're taking it back
checkTypeDef->mIsPartial = true;
}
compositeTypeDef->mPartialUsed = true; compositeTypeDef->mPartialUsed = true;
checkTypeDef->mPartialUsed = true; checkTypeDef->mPartialUsed = true;