diff --git a/IDEHelper/Compiler/BfCompiler.cpp b/IDEHelper/Compiler/BfCompiler.cpp index b32e4579..bdf49e2f 100644 --- a/IDEHelper/Compiler/BfCompiler.cpp +++ b/IDEHelper/Compiler/BfCompiler.cpp @@ -5283,6 +5283,11 @@ bool BfCompiler::IsAutocomplete() return (mResolvePassData != NULL) && (mResolvePassData->mAutoComplete != NULL); } +bool BfCompiler::IsDataResolvePass() +{ + return (mResolvePassData != NULL) && (mResolvePassData->mResolveType == BfResolveType_GetResultString); +} + BfAutoComplete* BfCompiler::GetAutoComplete() { if (mResolvePassData != NULL) diff --git a/IDEHelper/Compiler/BfCompiler.h b/IDEHelper/Compiler/BfCompiler.h index b748ce50..ceb327e3 100644 --- a/IDEHelper/Compiler/BfCompiler.h +++ b/IDEHelper/Compiler/BfCompiler.h @@ -483,6 +483,7 @@ public: void ClearBuildCache(); int GetDynCastVDataCount(); bool IsAutocomplete(); + bool IsDataResolvePass(); BfAutoComplete* GetAutoComplete(); bool IsHotCompile(); bool IsSkippingExtraResolveChecks(); diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index 47ba55c3..15cfe10c 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/IDEHelper/Compiler/BfModule.cpp @@ -21427,7 +21427,8 @@ BfModuleMethodInstance BfModule::GetLocalMethodInstance(BfLocalMethod* localMeth // Since we handle errors & warnings in the capture phase, we don't need to process any local methods for resolve-only (unless we're doing a mDbgVerifyCodeGen) if ((!localMethod->mDeclOnly) && (!methodInstance->IsOrInUnspecializedVariation()) && (methodDef->mMethodType != BfMethodType_Mixin) && - ((!mWantsIRIgnoreWrites) || (!localMethod->mDidBodyErrorPass))) + ((!mWantsIRIgnoreWrites) || (!localMethod->mDidBodyErrorPass)) && + (!mCompiler->IsDataResolvePass())) { BP_ZONE("BfDeferredLocalMethod:create");