|
|
|
|
@ -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)); |
|
|
|
|
} |
|
|
|
|
|