1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 20:42:21 +02:00

Properly show errors on valueless field accesses

This commit is contained in:
Brian Fiete 2022-02-11 15:17:38 -05:00
parent 9d2a22da4b
commit b0c6dd7e43

View file

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