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

Fixed removal of alwaysinclude flags

This commit is contained in:
Brian Fiete 2020-12-31 07:31:51 -08:00
parent 3875fbcb2f
commit f81a1cf896
2 changed files with 12 additions and 3 deletions

View file

@ -1150,7 +1150,7 @@ void BfCompiler::CreateVData(BfVDataModule* bfModule)
vdataTypeList.push_back(type);
vdataHashCtx.Mixin(type->mTypeId);
vdataHashCtx.Mixin(type->mTypeId);
BF_ASSERT((type != NULL) || (mPassInstance->HasFailed()));
if ((type != NULL) && (typeInst != NULL))
@ -1161,6 +1161,8 @@ void BfCompiler::CreateVData(BfVDataModule* bfModule)
if (type->IsInterface())
vdataHashCtx.Mixin(typeInst->mSlotNum);
vdataHashCtx.Mixin(typeInst->mAlwaysIncludeFlags);
vdataHashCtx.Mixin(typeInst->mHasBeenInstantiated);
if (!module->mIsScratchModule)
{

View file

@ -1002,7 +1002,15 @@ void BfContext::RebuildType(BfType* type, bool deleteOnDemandTypes, bool rebuild
typeInst->ReleaseData();
type->mDefineState = BfTypeDefineState_Undefined;
typeInst->mSpecializedMethodReferences.Clear();
typeInst->mAlwaysIncludeFlags = BfAlwaysIncludeFlag_None;
typeInst->mHasBeenInstantiated = false;
typeInst->mLookupResults.Clear();
typeInst->mIsUnion = false;
typeInst->mIsCRepr = false;
typeInst->mIsPacked = false;
typeInst->mIsSplattable = false;
typeInst->mHasUnderlyingArray = false;
typeInst->mIsTypedPrimitive = false;
typeInst->mMergedFieldDataCount = 0;
typeInst->mTypeIncomplete = true;
@ -1010,8 +1018,7 @@ void BfContext::RebuildType(BfType* type, bool deleteOnDemandTypes, bool rebuild
typeInst->mHasBeenInstantiated = false;
typeInst->mHasParameterizedBase = false;
typeInst->mTypeFailed = false;
typeInst->mTypeWarned = false;
typeInst->mIsSplattable = false;
typeInst->mTypeWarned = false;
typeInst->mHasUnderlyingArray = false;
typeInst->mHasPackingHoles = false;
typeInst->mWantsGCMarking = false;