Bladeren bron

Fix GetStringPoolIdx with non-const arg

Brian Fiete 2 jaren geleden
bovenliggende
commit
213aea8c82
1 gewijzigde bestanden met toevoegingen van 4 en 3 verwijderingen
  1. 4 3
      IDEHelper/Compiler/BfModule.cpp

+ 4 - 3
IDEHelper/Compiler/BfModule.cpp

@@ -1759,12 +1759,13 @@ BfIRValue BfModule::CreateStringObjectValue(const StringImpl& str, int stringId,
 
 int BfModule::GetStringPoolIdx(BfIRValue constantStr, BfIRConstHolder* constHolder)
 {
-	BF_ASSERT(constantStr.IsConst());
-
 	if (constHolder == NULL)
 		constHolder = mBfIRBuilder;
 
 	auto constant = constHolder->GetConstant(constantStr);
+	if (constant == NULL)
+		return -1;
+
 	if (constant->mTypeCode == BfTypeCode_StringId)
 	{
 		return constant->mInt32;
@@ -2701,7 +2702,7 @@ void BfModule::UpdateSrcPos(BfAstNode* astNode, BfSrcPosFlags flags, int debugLo
 			mCurFilePosition.mCurColumn = 0;
 		}
 		else
-		{			
+		{
 			mCurFilePosition.mCurColumn++;
 		}