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)