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

Fixed default case for discriminated union with empty payload member

This commit is contained in:
Brian Fiete 2021-12-31 12:05:36 -05:00
parent e659a4e711
commit 38abaf6b3f
3 changed files with 2 additions and 12 deletions

View file

@ -1357,11 +1357,6 @@ void BfCompiler::CreateVData(BfVDataModule* bfModule)
if ((typeInst != NULL) && (!typeInst->IsReified()) && (!typeInst->IsUnspecializedType()))
continue;
if (type->mTypeId == 0x0000045F)
{
NOP;
}
bool needsTypeData = (needsTypeList) || ((type->IsObject()) && (needsObjectTypeData));
bool needsVData = (type->IsObject()) && (typeInst->HasBeenInstantiated());

View file

@ -4587,8 +4587,8 @@ BfTypedValue BfExprEvaluator::LookupField(BfAstNode* targetSrc, BfTypedValue tar
}
SizedArray<BfIRValue, 3> values;
values.Add(mModule->mBfIRBuilder->CreateConstAggZero(mModule->mBfIRBuilder->MapType(curCheckType->mBaseType)));
values.Add(mModule->mBfIRBuilder->CreateConstAggZero(mModule->mBfIRBuilder->MapType(curCheckType->GetUnionInnerType())));
values.Add(mModule->mBfIRBuilder->CreateConstAggZero(mModule->mBfIRBuilder->MapType(curCheckType->mBaseType)));
values.Add(mModule->GetDefaultValue(curCheckType->GetUnionInnerType()));
values.Add(mModule->mBfIRBuilder->CreateConst(dscrType->mTypeDef->mTypeCode, tagIdx));
return BfTypedValue(mModule->mBfIRBuilder->CreateConstAgg(mModule->mBfIRBuilder->MapType(curCheckType), values), curCheckType);
}

View file

@ -5305,11 +5305,6 @@ BfIRValue BfModule::CreateTypeData(BfType* type, Dictionary<int, int>& usedStrin
return BfIRValue();
}
if (mContext->mBfTypeType == NULL)
{
}
BfIRValue typeTypeData;
int typeFlags = 0;
if (needsTypeData)