Skip to content

Commit 7f75589

Browse files
committed
NavigationText for metadata nodes
1 parent af73e85 commit 7f75589

11 files changed

+26
-3
lines changed

ICSharpCode.Decompiler/Metadata/MetadataFile.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,12 @@ public string Name {
7373
if (value == null)
7474
{
7575
var metadata = Metadata;
76-
value = metadata.IsAssembly
77-
? metadata.GetString(metadata.GetAssemblyDefinition().Name)
78-
: metadata.GetString(metadata.GetModuleDefinition().Name);
76+
if (metadata.IsAssembly)
77+
value = metadata.GetString(metadata.GetAssemblyDefinition().Name);
78+
else if (metadata.DebugMetadataHeader == null) // standalone debug metadata does not contain module table
79+
value = metadata.GetString(metadata.GetModuleDefinition().Name);
80+
else
81+
value = "debug metadata";
7982
value = LazyInit.GetOrSet(ref name, value);
8083
}
8184
return value;

ILSpy/Metadata/CoffHeaderTreeNode.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ public CoffHeaderTreeNode(PEFile module)
4343

4444
public override object Text => "COFF Header";
4545

46+
public override object NavigationText => $"{Text} ({module.Name})";
47+
4648
public override object Icon => Images.Header;
4749

4850
public override bool View(TabPageModel tabPage)

ILSpy/Metadata/DataDirectoriesTreeNode.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ public DataDirectoriesTreeNode(PEFile module)
3535

3636
public override object Text => "Data Directories";
3737

38+
public override object NavigationText => $"{Text} ({module.Name})";
39+
3840
public override object Icon => Images.ListFolder;
3941
public override object ExpandedIcon => Images.ListFolderOpen;
4042

ILSpy/Metadata/DebugDirectory/DebugDirectoryEntryTreeNode.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ public DebugDirectoryEntryTreeNode(PEFile module, DebugDirectoryEntry entry)
4040

4141
override public object Text => entry.Type.ToString();
4242

43+
public override object NavigationText => $"{Text} ({module.Name})";
44+
4345
public override object Icon => Images.MetadataTable;
4446

4547
public override void Decompile(Language language, ITextOutput output, DecompilationOptions options)

ILSpy/Metadata/DebugDirectoryTreeNode.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ public DebugDirectoryTreeNode(PEFile module)
4040

4141
public override object Text => "Debug Directory";
4242

43+
public override object NavigationText => $"{Text} ({module.Name})";
44+
4345
public override object Icon => Images.ListFolder;
4446
public override object ExpandedIcon => Images.ListFolderOpen;
4547

ILSpy/Metadata/DebugMetadataTablesTreeNode.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ public DebugMetadataTablesTreeNode(MetadataFile metadataFile)
3737

3838
public override object Text => "Tables";
3939

40+
public override object NavigationText => $"{Text} ({metadataFile.Name})";
41+
4042
public override object Icon => Images.MetadataTableGroup;
4143

4244
protected override void LoadChildren()

ILSpy/Metadata/DosHeaderTreeNode.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ public DosHeaderTreeNode(PEFile module)
3636

3737
public override object Text => "DOS Header";
3838

39+
public override object NavigationText => $"{Text} ({module.Name})";
40+
3941
public override object Icon => Images.Header;
4042

4143
public override bool View(TabPageModel tabPage)

ILSpy/Metadata/MetadataHeapTreeNode.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ internal abstract class MetadataHeapTreeNode : ILSpyTreeNode
3333

3434
public HandleKind Kind { get; }
3535

36+
public override object NavigationText => $"{Text} ({metadataFile.Name})";
37+
3638
public override object Icon => Images.Heap;
3739

3840
public MetadataHeapTreeNode(HandleKind kind, MetadataFile metadataFile)

ILSpy/Metadata/MetadataTableTreeNode.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ internal abstract class MetadataTableTreeNode : ILSpyTreeNode
3939

4040
public override object Text => $"{(int)Kind:X2} {Kind} ({metadataFile.Metadata.GetTableRowCount(Kind)})";
4141

42+
public override object NavigationText => $"{(int)Kind:X2} {Kind} ({metadataFile.Name})";
43+
4244
public override object Icon => Images.MetadataTable;
4345

4446
public MetadataTableTreeNode(TableIndex table, MetadataFile metadataFile)

ILSpy/Metadata/MetadataTablesTreeNode.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ public MetadataTablesTreeNode(MetadataFile metadataFile)
3939

4040
public override object Text => "Tables";
4141

42+
public override object NavigationText => $"{Text} ({metadataFile.Name})";
43+
4244
public override object Icon => Images.MetadataTableGroup;
4345

4446
protected override void LoadChildren()

0 commit comments

Comments
 (0)