diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index 47795264..c3067bee 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/IDEHelper/Compiler/BfModule.cpp @@ -1110,6 +1110,8 @@ bool BfModule::IsHotCompile() void BfModule::FinishInit() { + BfLogSysM("FinishInit %@ %s\n", this, mModuleName.c_str()); + BF_ASSERT(mAwaitingInitFinish); auto moduleOptions = GetModuleOptions(); @@ -11483,6 +11485,9 @@ BfIRValue BfModule::CreateFunctionFrom(BfMethodInstance* methodInstance, bool tr return BfIRValue(); } + if ((mAwaitingInitFinish) && (!mBfIRBuilder->mIgnoreWrites)) + FinishInit(); + auto methodDef = methodInstance->mMethodDef; StringT<4096> methodName; BfMangler::Mangle(methodName, mCompiler->GetMangleKind(), methodInstance);