1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-09 03:52:19 +02:00

Fixed inifnite work loop populating IsSpecializedByAutoCompleteMethod

This commit is contained in:
Brian Fiete 2021-01-22 07:50:17 -08:00
parent 20d51e0929
commit c0dd9b0e09
2 changed files with 13 additions and 12 deletions

View file

@ -695,12 +695,12 @@ bool BfContext::ProcessWorkList(bool onlyReifiedTypes, bool onlyReifiedMethods)
// but it has been referenced now so we need to complete it, OR // but it has been referenced now so we need to complete it, OR
// if this is from a newly-reified module // if this is from a newly-reified module
// if (false) if ((type->IsSpecializedByAutoCompleteMethod()) && (type->mDefineState >= BfTypeDefineState_Defined))
// { {
// // For debugging // We don't process methods for these
// mScratchModule->PopulateType(type, BfPopulateType_Full); }
// } else
{
BfTypeProcessRequest* typeProcessRequest = mPopulateTypeWorkList.Alloc(); BfTypeProcessRequest* typeProcessRequest = mPopulateTypeWorkList.Alloc();
typeProcessRequest->mType = type; typeProcessRequest->mType = type;
mCompiler->mStats.mTypesQueued++; mCompiler->mStats.mTypesQueued++;
@ -710,6 +710,7 @@ bool BfContext::ProcessWorkList(bool onlyReifiedTypes, bool onlyReifiedMethods)
} }
} }
} }
}
if (!didWork) if (!didWork)
break; break;

View file

@ -23683,7 +23683,7 @@ bool BfModule::Finish()
{ {
for (auto type : mOwnedTypeInstances) for (auto type : mOwnedTypeInstances)
{ {
BF_ASSERT(!type->IsIncomplete()); BF_ASSERT((!type->IsIncomplete()) || (type->IsSpecializedByAutoCompleteMethod()));
} }
} }