|
|
|
@ -18,10 +18,10 @@
@@ -18,10 +18,10 @@
|
|
|
|
|
|
|
|
|
|
using System; |
|
|
|
|
using System.Linq; |
|
|
|
|
using System.Reflection.Metadata; |
|
|
|
|
using System.Reflection.PortableExecutable; |
|
|
|
|
using SRM = System.Reflection.Metadata; |
|
|
|
|
using System.Windows.Threading; |
|
|
|
|
using ICSharpCode.Decompiler; |
|
|
|
|
using ICSharpCode.Decompiler.Metadata; |
|
|
|
|
|
|
|
|
|
namespace ICSharpCode.ILSpy.TreeNodes |
|
|
|
|
{ |
|
|
|
@ -30,10 +30,10 @@ namespace ICSharpCode.ILSpy.TreeNodes
@@ -30,10 +30,10 @@ namespace ICSharpCode.ILSpy.TreeNodes
|
|
|
|
|
/// </summary>
|
|
|
|
|
sealed class ReferenceFolderTreeNode : ILSpyTreeNode |
|
|
|
|
{ |
|
|
|
|
readonly MetadataReader module; |
|
|
|
|
readonly PEFile module; |
|
|
|
|
readonly AssemblyTreeNode parentAssembly; |
|
|
|
|
|
|
|
|
|
public ReferenceFolderTreeNode(MetadataReader module, AssemblyTreeNode parentAssembly) |
|
|
|
|
public ReferenceFolderTreeNode(PEFile module, AssemblyTreeNode parentAssembly) |
|
|
|
|
{ |
|
|
|
|
this.module = module; |
|
|
|
|
this.parentAssembly = parentAssembly; |
|
|
|
@ -54,10 +54,11 @@ namespace ICSharpCode.ILSpy.TreeNodes
@@ -54,10 +54,11 @@ namespace ICSharpCode.ILSpy.TreeNodes
|
|
|
|
|
|
|
|
|
|
protected override void LoadChildren() |
|
|
|
|
{ |
|
|
|
|
//foreach (var r in module.AssemblyReferences.OrderBy(r => r.Name))
|
|
|
|
|
// this.Children.Add(new AssemblyReferenceTreeNode(r, parentAssembly));
|
|
|
|
|
//foreach (var r in module.ModuleReferences.OrderBy(r => r.Name))
|
|
|
|
|
// this.Children.Add(new ModuleReferenceTreeNode(r));
|
|
|
|
|
var metadata = module.GetMetadataReader(); |
|
|
|
|
foreach (var r in module.AssemblyReferences.OrderBy(r => r.Name)) |
|
|
|
|
this.Children.Add(new AssemblyReferenceTreeNode(r, parentAssembly)); |
|
|
|
|
foreach (var r in module.ModuleReferences.OrderBy(r => metadata.GetString(metadata.GetModuleReference(r).Name))) |
|
|
|
|
this.Children.Add(new ModuleReferenceTreeNode(r, metadata)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public override void Decompile(Language language, ITextOutput output, DecompilationOptions options) |
|
|
|
@ -67,10 +68,8 @@ namespace ICSharpCode.ILSpy.TreeNodes
@@ -67,10 +68,8 @@ namespace ICSharpCode.ILSpy.TreeNodes
|
|
|
|
|
output.WriteLine(); |
|
|
|
|
language.WriteCommentLine(output, "Referenced assemblies (in metadata order):"); |
|
|
|
|
// Show metadata order of references
|
|
|
|
|
/*foreach (var r in module.AssemblyReferences) |
|
|
|
|
new AssemblyReferenceTreeNode(r, parentAssembly).Decompile(language, output, options); |
|
|
|
|
foreach (var r in module.ModuleReferences) |
|
|
|
|
language.WriteCommentLine(output, r.Name);*/ |
|
|
|
|
foreach (var node in this.Children.OfType<ILSpyTreeNode>()) |
|
|
|
|
node.Decompile(language, output, options); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|