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;