diff --git a/IDEHelper/Compiler/BfContext.cpp b/IDEHelper/Compiler/BfContext.cpp index ab8a8fa6..f45af98f 100644 --- a/IDEHelper/Compiler/BfContext.cpp +++ b/IDEHelper/Compiler/BfContext.cpp @@ -695,17 +695,18 @@ bool BfContext::ProcessWorkList(bool onlyReifiedTypes, bool onlyReifiedMethods) // but it has been referenced now so we need to complete it, OR // if this is from a newly-reified module -// if (false) -// { -// // For debugging -// mScratchModule->PopulateType(type, BfPopulateType_Full); -// } - - BfTypeProcessRequest* typeProcessRequest = mPopulateTypeWorkList.Alloc(); - typeProcessRequest->mType = type; - mCompiler->mStats.mTypesQueued++; - mCompiler->UpdateCompletion(); - didWork = true; + if ((type->IsSpecializedByAutoCompleteMethod()) && (type->mDefineState >= BfTypeDefineState_Defined)) + { + // We don't process methods for these + } + else + { + BfTypeProcessRequest* typeProcessRequest = mPopulateTypeWorkList.Alloc(); + typeProcessRequest->mType = type; + mCompiler->mStats.mTypesQueued++; + mCompiler->UpdateCompletion(); + didWork = true; + } } } } diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index 469f24ee..507da9de 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/IDEHelper/Compiler/BfModule.cpp @@ -23683,7 +23683,7 @@ bool BfModule::Finish() { for (auto type : mOwnedTypeInstances) { - BF_ASSERT(!type->IsIncomplete()); + BF_ASSERT((!type->IsIncomplete()) || (type->IsSpecializedByAutoCompleteMethod())); } }