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

View file

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