Преглед на файлове

Fixed splat lookup error during closure capture

Brian Fiete преди 5 години
родител
ревизия
5bdaeadc25
променени са 1 файла, в които са добавени 6 реда и са изтрити 0 реда
  1. 6 0
      IDEHelper/Compiler/BfModule.cpp

+ 6 - 0
IDEHelper/Compiler/BfModule.cpp

@@ -10831,6 +10831,12 @@ BfIRValue BfModule::ExtractSplatValue(BfTypedValue typedValue, int componentIdx,
 			if (val)
 				break;
 
+			if ((checkMethodState->mClosureState != NULL) && (checkMethodState->mClosureState->mCapturing))
+			{
+				BF_ASSERT(mBfIRBuilder->mIgnoreWrites);
+				return mBfIRBuilder->GetFakeVal();
+			}
+
 			checkMethodState = checkMethodState->mPrevMethodState;
 		}
 	}