소스 검색

Fixed VerifyTypeLookups from outer types

Brian Fiete 4 년 전
부모
커밋
c4b7cc58a1
2개의 변경된 파일4개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      IDEHelper/Compiler/BfContext.cpp
  2. 3 0
      IDEHelper/Compiler/BfModuleTypeUtils.cpp

+ 1 - 1
IDEHelper/Compiler/BfContext.cpp

@@ -2276,7 +2276,7 @@ void BfContext::VerifyTypeLookups(BfTypeInstance* typeInst)
 					//  so the mNextRevision will be ignored
 					auto useTypeDef = lookupEntry.mUseTypeDef;
 					BfTypeDef* ambiguousTypeDef = NULL;
-					BfTypeDef* result = mSystem->FindTypeDef(lookupEntry.mName, lookupEntry.mNumGenericParams, useTypeDef->mProject, useTypeDef->mNamespaceSearch, &ambiguousTypeDef);
+					BfTypeDef* result = typeInst->mModule->FindTypeDefRaw(lookupEntry.mName, lookupEntry.mNumGenericParams, typeInst, useTypeDef, NULL);
 					if (result != lookupEntryPair.mValue.mTypeDef)
 					{
 						isDirty = true;

+ 3 - 0
IDEHelper/Compiler/BfModuleTypeUtils.cpp

@@ -2553,6 +2553,9 @@ void BfModule::DoPopulateType_TypeAlias(BfTypeInstance* typeAlias)
 
 void BfModule::DoPopulateType(BfType* resolvedTypeRef, BfPopulateType populateType)
 {
+	if (populateType == BfPopulateType_Identity)
+		return;
+
 	auto typeInstance = resolvedTypeRef->ToTypeInstance();
 	auto typeDef = typeInstance->mTypeDef;