Browse Source

Search for usage of private nested types in declaring type

pull/252/head
Ronny Klier 15 years ago
parent
commit
52674f3045
  1. 13
      ILSpy/TreeNodes/Analyzer/ScopedWhereUsedAnalyzer.cs

13
ILSpy/TreeNodes/Analyzer/ScopedWhereUsedAnalyzer.cs

@ -128,7 +128,7 @@ namespace ICSharpCode.ILSpy.TreeNodes.Analyzer
DetermineTypeAccessibility(); DetermineTypeAccessibility();
if (typeAccessibility == Accessibility.Private) { if (typeAccessibility == Accessibility.Private) {
return FindReferencesInTypeScope(ct); return FindReferencesInEnclosingTypeScope(ct);
} }
if (memberAccessibility == Accessibility.Internal || if (memberAccessibility == Accessibility.Internal ||
@ -237,6 +237,17 @@ namespace ICSharpCode.ILSpy.TreeNodes.Analyzer
} }
} }
private IEnumerable<T> FindReferencesInEnclosingTypeScope(CancellationToken ct)
{
foreach (TypeDefinition type in TreeTraversal.PreOrder(typeScope.DeclaringType, t => t.NestedTypes)) {
ct.ThrowIfCancellationRequested();
foreach (var result in typeAnalysisFunction(type)) {
ct.ThrowIfCancellationRequested();
yield return result;
}
}
}
private IEnumerable<AssemblyDefinition> GetReferencingAssemblies(AssemblyDefinition asm, CancellationToken ct) private IEnumerable<AssemblyDefinition> GetReferencingAssemblies(AssemblyDefinition asm, CancellationToken ct)
{ {
yield return asm; yield return asm;

Loading…
Cancel
Save