2
0
Brian Fiete 3 жил өмнө
parent
commit
39595bf387

+ 7 - 5
IDEHelper/Compiler/BfModule.cpp

@@ -22506,15 +22506,17 @@ BfModuleMethodInstance BfModule::GetLocalMethodInstance(BfLocalMethod* localMeth
 		auto rootMethodState = mCurMethodState->GetRootMethodState();
 		BfDeferredLocalAssignData deferredLocalAssignData(rootMethodState->mCurScope);
 		deferredLocalAssignData.mVarIdBarrier = rootMethodState->mCurLocalVarId;
-		if (rootMethodState->mDeferredLocalAssignData != NULL)
+
+		auto prevDLA = rootMethodState->mDeferredLocalAssignData;
+		while ((prevDLA != NULL) && (prevDLA->mIsChained))
+			prevDLA = prevDLA->mChainedAssignData;
+		if (prevDLA != NULL)
 		{
-			auto prevDLA = rootMethodState->mDeferredLocalAssignData;
-			while ((prevDLA != NULL) && (prevDLA->mIsChained))
-				prevDLA = prevDLA->mChainedAssignData;
 			deferredLocalAssignData.mAssignedLocals = prevDLA->mAssignedLocals;
 			deferredLocalAssignData.mLeftBlockUncond = prevDLA->mLeftBlockUncond;
 		}
-		SetAndRestoreValue<BfDeferredLocalAssignData*> prevDLA(rootMethodState->mDeferredLocalAssignData, &deferredLocalAssignData);
+
+		SetAndRestoreValue<BfDeferredLocalAssignData*> sarDLA(rootMethodState->mDeferredLocalAssignData, &deferredLocalAssignData);
 		if (!mIgnoreErrors)
 			localMethod->mDidBodyErrorPass = true;