From 213aea8c820d80addf2ae51e9124fc5df9f7badc Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Tue, 25 Oct 2022 08:33:24 -0400 Subject: [PATCH] Fix GetStringPoolIdx with non-const arg --- IDEHelper/Compiler/BfModule.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index c2c508a9..1d1f87d6 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/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++; }