Browse Source

Fixed: some analyzers throw an exception when a definition of any assembly is not available.

pull/115/head
Artur Zgodziski 15 years ago
parent
commit
7e818a3ba1
  1. 3
      ILSpy/TreeNodes/Analyzer/AnalyzedFieldAccessNode.cs
  2. 3
      ILSpy/TreeNodes/Analyzer/AnalyzedMethodUsedByTreeNode.cs
  3. 3
      ILSpy/TreeNodes/Analyzer/AnalyzedPropertyOverridesTreeNode.cs
  4. 3
      ILSpy/TreeNodes/Analyzer/AnalyzerMethodOverridesTreeNode.cs

3
ILSpy/TreeNodes/Analyzer/AnalyzedFieldAccessNode.cs

@ -57,8 +57,9 @@ namespace ICSharpCode.ILSpy.TreeNodes.Analyzer @@ -57,8 +57,9 @@ namespace ICSharpCode.ILSpy.TreeNodes.Analyzer
return FindReferences(MainWindow.Instance.AssemblyList.GetAssemblies(), ct);
}
IEnumerable<SharpTreeNode> FindReferences(LoadedAssembly[] assemblies, CancellationToken ct)
IEnumerable<SharpTreeNode> FindReferences(IEnumerable<LoadedAssembly> assemblies, CancellationToken ct)
{
assemblies = assemblies.Where(asm => asm.AssemblyDefinition != null);
// use parallelism only on the assembly level (avoid locks within Cecil)
return assemblies.AsParallel().WithCancellation(ct).SelectMany((LoadedAssembly asm) => FindReferences(asm, ct));
}

3
ILSpy/TreeNodes/Analyzer/AnalyzedMethodUsedByTreeNode.cs

@ -70,8 +70,9 @@ namespace ICSharpCode.ILSpy.TreeNodes.Analyzer @@ -70,8 +70,9 @@ namespace ICSharpCode.ILSpy.TreeNodes.Analyzer
return FindReferences(MainWindow.Instance.AssemblyList.GetAssemblies(), ct);
}
IEnumerable<SharpTreeNode> FindReferences(LoadedAssembly[] assemblies, CancellationToken ct)
IEnumerable<SharpTreeNode> FindReferences(IEnumerable<LoadedAssembly> assemblies, CancellationToken ct)
{
assemblies = assemblies.Where(asm => asm.AssemblyDefinition != null);
// use parallelism only on the assembly level (avoid locks within Cecil)
return assemblies.AsParallel().WithCancellation(ct).SelectMany((LoadedAssembly asm) => FindReferences(asm, ct));
}

3
ILSpy/TreeNodes/Analyzer/AnalyzedPropertyOverridesTreeNode.cs

@ -54,8 +54,9 @@ namespace ICSharpCode.ILSpy.TreeNodes.Analyzer @@ -54,8 +54,9 @@ namespace ICSharpCode.ILSpy.TreeNodes.Analyzer
return FindReferences(MainWindow.Instance.AssemblyList.GetAssemblies(), ct);
}
IEnumerable<SharpTreeNode> FindReferences(LoadedAssembly[] assemblies, CancellationToken ct)
IEnumerable<SharpTreeNode> FindReferences(IEnumerable<LoadedAssembly> assemblies, CancellationToken ct)
{
assemblies = assemblies.Where(asm => asm.AssemblyDefinition != null);
// use parallelism only on the assembly level (avoid locks within Cecil)
return assemblies.AsParallel().WithCancellation(ct).SelectMany((LoadedAssembly asm) => FindReferences(asm, ct));
}

3
ILSpy/TreeNodes/Analyzer/AnalyzerMethodOverridesTreeNode.cs

@ -58,8 +58,9 @@ namespace ICSharpCode.ILSpy.TreeNodes.Analyzer @@ -58,8 +58,9 @@ namespace ICSharpCode.ILSpy.TreeNodes.Analyzer
return FindReferences(MainWindow.Instance.AssemblyList.GetAssemblies(), ct);
}
IEnumerable<SharpTreeNode> FindReferences(LoadedAssembly[] assemblies, CancellationToken ct)
IEnumerable<SharpTreeNode> FindReferences(IEnumerable<LoadedAssembly> assemblies, CancellationToken ct)
{
assemblies = assemblies.Where(asm => asm.AssemblyDefinition != null);
// use parallelism only on the assembly level (avoid locks within Cecil)
return assemblies.AsParallel().WithCancellation(ct).SelectMany((LoadedAssembly asm) => FindReferences(asm, ct));
}

Loading…
Cancel
Save