From a240acc6747a7989cb0fd91c35f0169b4e9f85bf Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Fri, 21 Mar 2025 13:45:58 -0400 Subject: [PATCH] Fixed parameter error with failed inline const constraint --- IDEHelper/Compiler/BfModule.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index 161d46e0..ccccb719 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/IDEHelper/Compiler/BfModule.cpp @@ -21706,7 +21706,12 @@ void BfModule::ProcessMethod(BfMethodInstance* methodInstance, bool isInlineDup, BfLocalVariable* paramVar = NULL; while (true) { - BF_ASSERT(localIdx < methodState.mLocals.size()); + if (localIdx >= methodState.mLocals.size()) + { + paramVar = NULL; + break; + } + paramVar = methodState.mLocals[localIdx]; if ((paramVar->mCompositeCount == -1) && (!paramVar->mIsConst) && @@ -21715,6 +21720,12 @@ void BfModule::ProcessMethod(BfMethodInstance* methodInstance, bool isInlineDup, localIdx++; } + if (paramVar == NULL) + { + Fail("Parameter count error", methodDef->GetRefNode()); + break; + } + if ((isThis) && (mCurTypeInstance->IsValueType()) && (methodDef->mMethodType != BfMethodType_Ctor) && (!methodDef->HasNoThisSplat())) { paramVar->mIsReadOnly = true;