From a87731e0ef1cf928ea7186002353c406111aaaab Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Sat, 30 Jan 2021 14:45:00 -0800 Subject: [PATCH] Specialized-by-autocomplete-method dependency fix --- IDEHelper/Compiler/BfModule.cpp | 5 ++++- IDEHelper/Compiler/BfModuleTypeUtils.cpp | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index 12377c45..c526fd07 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/IDEHelper/Compiler/BfModule.cpp @@ -3333,7 +3333,10 @@ void BfModule::AddDependency(BfType* usedType, BfType* userType, BfDependencyMap } if (usedType->IsSpecializedByAutoCompleteMethod()) - return; + { + if ((flags & (BfDependencyMap::DependencyFlag_TypeGenericArg | BfDependencyMap::DependencyFlag_OuterType | BfDependencyMap::DependencyFlag_DerivedFrom)) == 0) + return; + } // if (usedType->IsBoxed()) // { diff --git a/IDEHelper/Compiler/BfModuleTypeUtils.cpp b/IDEHelper/Compiler/BfModuleTypeUtils.cpp index db957234..a559873b 100644 --- a/IDEHelper/Compiler/BfModuleTypeUtils.cpp +++ b/IDEHelper/Compiler/BfModuleTypeUtils.cpp @@ -1099,7 +1099,7 @@ void BfModule::PopulateType(BfType* resolvedTypeRef, BfPopulateType populateType } else resolvedTypeRef->mTypeId = mCompiler->mCurTypeId++; - + while (resolvedTypeRef->mTypeId >= (int)mContext->mTypes.size()) mContext->mTypes.Add(NULL); mContext->mTypes[resolvedTypeRef->mTypeId] = resolvedTypeRef;