Ver Fonte

Fixed VerifyTypeLookups from outer types

Brian Fiete há 4 anos atrás
pai
commit
c4b7cc58a1

+ 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;