mirror of https://github.com/icsharpcode/ILSpy.git
11 changed files with 174 additions and 8 deletions
@ -0,0 +1,34 @@ |
|||||||
|
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
|
||||||
|
// This code is distributed under MIT X11 license (for details please see \doc\license.txt)
|
||||||
|
|
||||||
|
using System; |
||||||
|
using ICSharpCode.TreeView; |
||||||
|
using Mono.Cecil; |
||||||
|
|
||||||
|
namespace ICSharpCode.ILSpy |
||||||
|
{ |
||||||
|
/// <summary>
|
||||||
|
/// Node within assembly reference list.
|
||||||
|
/// </summary>
|
||||||
|
public class AssemblyReferenceTreeNode : SharpTreeNode |
||||||
|
{ |
||||||
|
readonly AssemblyNameReference r; |
||||||
|
|
||||||
|
public AssemblyReferenceTreeNode(AssemblyNameReference r) |
||||||
|
{ |
||||||
|
if (r == null) |
||||||
|
throw new ArgumentNullException("r"); |
||||||
|
this.r = r; |
||||||
|
} |
||||||
|
|
||||||
|
public override object Text { |
||||||
|
get { return r.Name; } |
||||||
|
} |
||||||
|
|
||||||
|
public override object Icon { |
||||||
|
get { return Images.Assembly; } |
||||||
|
} |
||||||
|
|
||||||
|
// TODO: allow drilling down into references used by this reference
|
||||||
|
} |
||||||
|
} |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.1 KiB |
@ -0,0 +1,28 @@ |
|||||||
|
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
|
||||||
|
// This code is distributed under MIT X11 license (for details please see \doc\license.txt)
|
||||||
|
|
||||||
|
using System; |
||||||
|
using ICSharpCode.TreeView; |
||||||
|
using Mono.Cecil; |
||||||
|
|
||||||
|
namespace ICSharpCode.ILSpy |
||||||
|
{ |
||||||
|
/// <summary>
|
||||||
|
/// Module reference in ReferenceFolderTreeNode.
|
||||||
|
/// </summary>
|
||||||
|
public class ModuleReferenceTreeNode : SharpTreeNode |
||||||
|
{ |
||||||
|
ModuleReference r; |
||||||
|
|
||||||
|
public ModuleReferenceTreeNode(ModuleReference r) |
||||||
|
{ |
||||||
|
if (r == null) |
||||||
|
throw new ArgumentNullException("r"); |
||||||
|
this.r = r; |
||||||
|
} |
||||||
|
|
||||||
|
public override object Text { |
||||||
|
get { return r.Name; } |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,43 @@ |
|||||||
|
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
|
||||||
|
// This code is distributed under MIT X11 license (for details please see \doc\license.txt)
|
||||||
|
|
||||||
|
using System; |
||||||
|
using ICSharpCode.TreeView; |
||||||
|
using Mono.Cecil; |
||||||
|
|
||||||
|
namespace ICSharpCode.ILSpy |
||||||
|
{ |
||||||
|
/// <summary>
|
||||||
|
/// References folder.
|
||||||
|
/// </summary>
|
||||||
|
public sealed class ReferenceFolderTreeNode : SharpTreeNode |
||||||
|
{ |
||||||
|
ModuleDefinition module; |
||||||
|
|
||||||
|
public ReferenceFolderTreeNode(ModuleDefinition module) |
||||||
|
{ |
||||||
|
this.module = module; |
||||||
|
this.LazyLoading = true; |
||||||
|
} |
||||||
|
|
||||||
|
public override object Text { |
||||||
|
get { return "References"; } |
||||||
|
} |
||||||
|
|
||||||
|
public override object Icon { |
||||||
|
get { return Images.ReferenceFolderClosed; } |
||||||
|
} |
||||||
|
|
||||||
|
public override object ExpandedIcon { |
||||||
|
get { return Images.ReferenceFolderOpen; } |
||||||
|
} |
||||||
|
|
||||||
|
protected override void LoadChildren() |
||||||
|
{ |
||||||
|
foreach (var r in module.AssemblyReferences) |
||||||
|
this.Children.Add(new AssemblyReferenceTreeNode(r)); |
||||||
|
foreach (var r in module.ModuleReferences) |
||||||
|
this.Children.Add(new ModuleReferenceTreeNode(r)); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue