From b0c6dd7e4366596059ba70ae3e27e0fbbdfad21d Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Fri, 11 Feb 2022 15:17:38 -0500 Subject: [PATCH] Properly show errors on valueless field accesses --- IDEHelper/Compiler/BfExprEvaluator.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/IDEHelper/Compiler/BfExprEvaluator.cpp b/IDEHelper/Compiler/BfExprEvaluator.cpp index 8a0caf7a..dbd76d80 100644 --- a/IDEHelper/Compiler/BfExprEvaluator.cpp +++ b/IDEHelper/Compiler/BfExprEvaluator.cpp @@ -4752,11 +4752,6 @@ BfTypedValue BfExprEvaluator::LookupField(BfAstNode* targetSrc, BfTypedValue tar isConst = false; } - if (resolvedFieldType->IsValuelessType()) - { - return BfTypedValue(BfIRValue::sValueless, resolvedFieldType, true); - } - if (isConst) { if (fieldInstance->mIsEnumPayloadCase) @@ -4840,6 +4835,11 @@ BfTypedValue BfExprEvaluator::LookupField(BfAstNode* targetSrc, BfTypedValue tar return mModule->GetDefaultTypedValue(resolvedFieldType, false, BfDefaultValueKind_Addr); } + if (resolvedFieldType->IsValuelessType()) + { + return BfTypedValue(BfIRValue::sValueless, resolvedFieldType, true); + } + if ((mResultLocalVar != NULL) && (fieldInstance->mMergedDataIdx != -1)) { if (mResultLocalVarFieldCount != 1)