mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 11:38:21 +02:00
Fixed const eval dependency issues
This commit is contained in:
parent
fa65029dfa
commit
86b5e65015
9 changed files with 82 additions and 22 deletions
|
@ -2175,6 +2175,8 @@ void BfCompiler::UpdateDependencyMap(bool deleteUnusued, bool& didWork)
|
|||
}
|
||||
}
|
||||
|
||||
depType->mDependencyMap.mFlagsUnion = BfDependencyMap::DependencyFlag_None;
|
||||
|
||||
// Not combined with previous loop because PopulateType could modify typeInst->mDependencyMap
|
||||
for (auto itr = depType->mDependencyMap.begin(); itr != depType->mDependencyMap.end();)
|
||||
{
|
||||
|
@ -2240,6 +2242,8 @@ void BfCompiler::UpdateDependencyMap(bool deleteUnusued, bool& didWork)
|
|||
|
||||
++itr;
|
||||
}
|
||||
|
||||
depType->mDependencyMap.mFlagsUnion = (BfDependencyMap::DependencyFlags)(depType->mDependencyMap.mFlagsUnion | depData.mFlags);
|
||||
}
|
||||
|
||||
if ((!depType->IsGenericTypeInstance() && (!depType->IsBoxed())) ||
|
||||
|
@ -3336,6 +3340,13 @@ void BfCompiler::UpdateRevisedTypes()
|
|||
(compositeTypeDef->mDefState != BfTypeDef::DefState_InlinedInternals_Changed))
|
||||
compositeTypeDef->mDefState = BfTypeDef::DefState_Internals_Changed;
|
||||
}
|
||||
else if (checkTypeDef->mDefState == BfTypeDef::DefState_Refresh)
|
||||
{
|
||||
if ((compositeTypeDef->mDefState != BfTypeDef::DefState_Signature_Changed) &&
|
||||
(compositeTypeDef->mDefState != BfTypeDef::DefState_InlinedInternals_Changed) &&
|
||||
(compositeTypeDef->mDefState != BfTypeDef::DefState_Internals_Changed))
|
||||
compositeTypeDef->mDefState = BfTypeDef::DefState_Refresh;
|
||||
}
|
||||
|
||||
BF_ASSERT(checkTypeDef->mIsPartial);
|
||||
if (checkTypeDef->mNextRevision != NULL)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue