From fdcfba8bad8b54e74e9bf31409415d655a4a62c9 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Sun, 31 Oct 2021 11:16:51 -0700 Subject: [PATCH] Fixed inferred FromEnd index value --- IDEHelper/Compiler/BfExprEvaluator.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/IDEHelper/Compiler/BfExprEvaluator.cpp b/IDEHelper/Compiler/BfExprEvaluator.cpp index 549a0cdf..640391b4 100644 --- a/IDEHelper/Compiler/BfExprEvaluator.cpp +++ b/IDEHelper/Compiler/BfExprEvaluator.cpp @@ -20904,7 +20904,10 @@ void BfExprEvaluator::PerformBinaryOperation(BfExpression* leftExpression, BfExp auto indexType = mModule->ResolveTypeDef(mModule->mCompiler->mIndexTypeDef)->ToTypeInstance(); rightTypedValueExpr.mRefNode = opToken; - auto valueTypeEmpty = mModule->mBfIRBuilder->CreateConstAgg(mModule->mBfIRBuilder->MapType(indexType->mBaseType), {}); + auto valueTypeEmpty = mModule->mBfIRBuilder->CreateConstAgg(mModule->mBfIRBuilder->MapType(indexType->mBaseType->mBaseType), {}); + SizedArray enumMembers; + enumMembers.Add(valueTypeEmpty); + auto enumValue = mModule->mBfIRBuilder->CreateConstAgg(mModule->mBfIRBuilder->MapType(indexType->mBaseType), enumMembers); SizedArray tupleMembers; tupleMembers.Add(valueTypeEmpty); @@ -20912,7 +20915,7 @@ void BfExprEvaluator::PerformBinaryOperation(BfExpression* leftExpression, BfExp auto tupleValue = mModule->mBfIRBuilder->CreateConstAgg(mModule->mBfIRBuilder->MapType(indexType->mFieldInstances[0].mResolvedType), tupleMembers); SizedArray indexMembers; - indexMembers.Add(valueTypeEmpty); + indexMembers.Add(enumValue); indexMembers.Add(tupleValue); indexMembers.Add(mModule->mBfIRBuilder->CreateConst(BfTypeCode_Int8, 1)); auto indexValue = mModule->mBfIRBuilder->CreateConstAgg(mModule->mBfIRBuilder->MapType(indexType), indexMembers);