Browse Source

Analyzer: Limit search to assemblies with TypeRef to required type.

pull/170/head
Ed Harvey 15 years ago
parent
commit
e1ccd3586a
  1. 16
      ILSpy/TreeNodes/Analyzer/ScopedWhereUsedAnalyzer.cs

16
ILSpy/TreeNodes/Analyzer/ScopedWhereUsedAnalyzer.cs

@ -254,7 +254,7 @@ namespace ICSharpCode.ILSpy.TreeNodes.Analyzer
break; break;
} }
} }
if (found) if (found && AssemblyReferencesScopeType(assembly.AssemblyDefinition))
yield return assembly.AssemblyDefinition; yield return assembly.AssemblyDefinition;
} }
} }
@ -278,12 +278,24 @@ namespace ICSharpCode.ILSpy.TreeNodes.Analyzer
foreach (var assembly in assemblies) { foreach (var assembly in assemblies) {
ct.ThrowIfCancellationRequested(); ct.ThrowIfCancellationRequested();
if (friendAssemblies.Contains(assembly.ShortName)) { if (friendAssemblies.Contains(assembly.ShortName) && AssemblyReferencesScopeType(assembly.AssemblyDefinition)) {
yield return assembly.AssemblyDefinition; yield return assembly.AssemblyDefinition;
} }
} }
} }
} }
} }
private bool AssemblyReferencesScopeType(AssemblyDefinition asm)
{
bool hasRef = false;
foreach (var typeref in asm.MainModule.GetTypeReferences()) {
if (typeref.Name == typeScope.Name && typeref.Namespace == typeScope.Namespace) {
hasRef = true;
break;
}
}
return hasRef;
}
} }
} }

Loading…
Cancel
Save