From c967d459f8e2f81593cb76ea9269599ac7265673 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Sat, 26 Dec 2020 09:08:35 -0800 Subject: [PATCH] Fixed tuple dependency issue --- IDEHelper/Compiler/BfModuleTypeUtils.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/IDEHelper/Compiler/BfModuleTypeUtils.cpp b/IDEHelper/Compiler/BfModuleTypeUtils.cpp index a2973d9d..b953c21b 100644 --- a/IDEHelper/Compiler/BfModuleTypeUtils.cpp +++ b/IDEHelper/Compiler/BfModuleTypeUtils.cpp @@ -551,21 +551,21 @@ void BfModule::InitType(BfType* resolvedTypeRef, BfPopulateType populateType) typeInst->mIsReified = mIsReified; //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()) { auto tupleType = (BfTypeInstance*)resolvedTypeRef; for (int fieldIdx = 0; fieldIdx < (int)tupleType->mFieldInstances.size(); fieldIdx++) - { + { auto fieldInstance = (BfFieldInstance*)&tupleType->mFieldInstances[fieldIdx]; -// if (fieldInstance->GetResolvedType()->IsUnspecializedType()) -// tupleType->mHasUnspecializedMembers = true; + // We need to make sure dependencies get set immediately since we already resolved the types + AddFieldDependency(typeInst, fieldInstance, fieldInstance->mResolvedType); } } - - typeInst->mRevision = mCompiler->mRevision; - if (typeInst->mTypeDef != NULL) - BF_ASSERT(typeInst->mTypeDef->mDefState != BfTypeDef::DefState_Deleted); } if (resolvedTypeRef->IsGenericTypeInstance())