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

Fixed tuple dependency issue

This commit is contained in:
Brian Fiete 2020-12-26 09:08:35 -08:00
parent a8610ed711
commit c967d459f8

View file

@ -552,20 +552,20 @@ void BfModule::InitType(BfType* resolvedTypeRef, BfPopulateType populateType)
//BF_ASSERT(typeInst->mTypeDef->mTypeCode != BfTypeCode_Extension); //BF_ASSERT(typeInst->mTypeDef->mTypeCode != BfTypeCode_Extension);
typeInst->mRevision = mCompiler->mRevision;
if (typeInst->mTypeDef != NULL)
BF_ASSERT(typeInst->mTypeDef->mDefState != BfTypeDef::DefState_Deleted);
if (resolvedTypeRef->IsTuple()) if (resolvedTypeRef->IsTuple())
{ {
auto tupleType = (BfTypeInstance*)resolvedTypeRef; auto tupleType = (BfTypeInstance*)resolvedTypeRef;
for (int fieldIdx = 0; fieldIdx < (int)tupleType->mFieldInstances.size(); fieldIdx++) for (int fieldIdx = 0; fieldIdx < (int)tupleType->mFieldInstances.size(); fieldIdx++)
{ {
auto fieldInstance = (BfFieldInstance*)&tupleType->mFieldInstances[fieldIdx]; auto fieldInstance = (BfFieldInstance*)&tupleType->mFieldInstances[fieldIdx];
// if (fieldInstance->GetResolvedType()->IsUnspecializedType()) // We need to make sure dependencies get set immediately since we already resolved the types
// tupleType->mHasUnspecializedMembers = true; AddFieldDependency(typeInst, fieldInstance, fieldInstance->mResolvedType);
} }
} }
typeInst->mRevision = mCompiler->mRevision;
if (typeInst->mTypeDef != NULL)
BF_ASSERT(typeInst->mTypeDef->mDefState != BfTypeDef::DefState_Deleted);
} }
if (resolvedTypeRef->IsGenericTypeInstance()) if (resolvedTypeRef->IsGenericTypeInstance())