
11 changed files with 174 additions and 8 deletions
-
10ILSpy.sln
-
34ILSpy/AssemblyReferenceTreeNode.cs
-
2ILSpy/AssemblyTreeNode.cs
-
11ILSpy/ILSpy.csproj
-
3ILSpy/Images/Images.cs
-
BINILSpy/Images/ReferenceFolder.Closed.png
-
BINILSpy/Images/ReferenceFolder.Open.png
-
50ILSpy/MainWindow.xaml
-
1ILSpy/MainWindow.xaml.cs
-
28ILSpy/ModuleReferenceTreeNode.cs
-
43ILSpy/ReferenceFolderTreeNode.cs
@ -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: 16 | Height: 16 | Size: 1.1 KiB |
After Width: 16 | Height: 16 | 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)); |
|||
} |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue