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);