diff --git a/ICSharpCode.Decompiler/Metadata/MetadataFile.cs b/ICSharpCode.Decompiler/Metadata/MetadataFile.cs index ac0c1da1f..0e00052d6 100644 --- a/ICSharpCode.Decompiler/Metadata/MetadataFile.cs +++ b/ICSharpCode.Decompiler/Metadata/MetadataFile.cs @@ -73,9 +73,12 @@ namespace ICSharpCode.Decompiler.Metadata if (value == null) { var metadata = Metadata; - value = metadata.IsAssembly - ? metadata.GetString(metadata.GetAssemblyDefinition().Name) - : metadata.GetString(metadata.GetModuleDefinition().Name); + if (metadata.IsAssembly) + value = metadata.GetString(metadata.GetAssemblyDefinition().Name); + else if (metadata.DebugMetadataHeader == null) // standalone debug metadata does not contain module table + value = metadata.GetString(metadata.GetModuleDefinition().Name); + else + value = "debug metadata"; value = LazyInit.GetOrSet(ref name, value); } return value; diff --git a/ILSpy/Metadata/CoffHeaderTreeNode.cs b/ILSpy/Metadata/CoffHeaderTreeNode.cs index 71a4a491a..20b46050f 100644 --- a/ILSpy/Metadata/CoffHeaderTreeNode.cs +++ b/ILSpy/Metadata/CoffHeaderTreeNode.cs @@ -43,6 +43,8 @@ namespace ICSharpCode.ILSpy.Metadata public override object Text => "COFF Header"; + public override object NavigationText => $"{Text} ({module.Name})"; + public override object Icon => Images.Header; public override bool View(TabPageModel tabPage) diff --git a/ILSpy/Metadata/DataDirectoriesTreeNode.cs b/ILSpy/Metadata/DataDirectoriesTreeNode.cs index c54fa9b2c..0b5d4f31c 100644 --- a/ILSpy/Metadata/DataDirectoriesTreeNode.cs +++ b/ILSpy/Metadata/DataDirectoriesTreeNode.cs @@ -35,6 +35,8 @@ namespace ICSharpCode.ILSpy.Metadata public override object Text => "Data Directories"; + public override object NavigationText => $"{Text} ({module.Name})"; + public override object Icon => Images.ListFolder; public override object ExpandedIcon => Images.ListFolderOpen; diff --git a/ILSpy/Metadata/DebugDirectory/DebugDirectoryEntryTreeNode.cs b/ILSpy/Metadata/DebugDirectory/DebugDirectoryEntryTreeNode.cs index da233ca38..6326a8660 100644 --- a/ILSpy/Metadata/DebugDirectory/DebugDirectoryEntryTreeNode.cs +++ b/ILSpy/Metadata/DebugDirectory/DebugDirectoryEntryTreeNode.cs @@ -40,6 +40,8 @@ namespace ICSharpCode.ILSpy.Metadata override public object Text => entry.Type.ToString(); + public override object NavigationText => $"{Text} ({module.Name})"; + public override object Icon => Images.MetadataTable; public override void Decompile(Language language, ITextOutput output, DecompilationOptions options) diff --git a/ILSpy/Metadata/DebugDirectoryTreeNode.cs b/ILSpy/Metadata/DebugDirectoryTreeNode.cs index ceaa6cf3e..37f6f7e89 100644 --- a/ILSpy/Metadata/DebugDirectoryTreeNode.cs +++ b/ILSpy/Metadata/DebugDirectoryTreeNode.cs @@ -40,6 +40,8 @@ namespace ICSharpCode.ILSpy.Metadata public override object Text => "Debug Directory"; + public override object NavigationText => $"{Text} ({module.Name})"; + public override object Icon => Images.ListFolder; public override object ExpandedIcon => Images.ListFolderOpen; diff --git a/ILSpy/Metadata/DebugMetadataTablesTreeNode.cs b/ILSpy/Metadata/DebugMetadataTablesTreeNode.cs index 5ce76eaa6..8131f0910 100644 --- a/ILSpy/Metadata/DebugMetadataTablesTreeNode.cs +++ b/ILSpy/Metadata/DebugMetadataTablesTreeNode.cs @@ -37,6 +37,8 @@ namespace ICSharpCode.ILSpy.Metadata public override object Text => "Tables"; + public override object NavigationText => $"{Text} ({metadataFile.Name})"; + public override object Icon => Images.MetadataTableGroup; protected override void LoadChildren() diff --git a/ILSpy/Metadata/DosHeaderTreeNode.cs b/ILSpy/Metadata/DosHeaderTreeNode.cs index 59845ea8d..1deec9717 100644 --- a/ILSpy/Metadata/DosHeaderTreeNode.cs +++ b/ILSpy/Metadata/DosHeaderTreeNode.cs @@ -36,6 +36,8 @@ namespace ICSharpCode.ILSpy.Metadata public override object Text => "DOS Header"; + public override object NavigationText => $"{Text} ({module.Name})"; + public override object Icon => Images.Header; public override bool View(TabPageModel tabPage) diff --git a/ILSpy/Metadata/MetadataHeapTreeNode.cs b/ILSpy/Metadata/MetadataHeapTreeNode.cs index 2c0ee3c79..a74ccd647 100644 --- a/ILSpy/Metadata/MetadataHeapTreeNode.cs +++ b/ILSpy/Metadata/MetadataHeapTreeNode.cs @@ -33,6 +33,8 @@ namespace ICSharpCode.ILSpy.Metadata public HandleKind Kind { get; } + public override object NavigationText => $"{Text} ({metadataFile.Name})"; + public override object Icon => Images.Heap; public MetadataHeapTreeNode(HandleKind kind, MetadataFile metadataFile) diff --git a/ILSpy/Metadata/MetadataTableTreeNode.cs b/ILSpy/Metadata/MetadataTableTreeNode.cs index e826bdc46..ccc13c60d 100644 --- a/ILSpy/Metadata/MetadataTableTreeNode.cs +++ b/ILSpy/Metadata/MetadataTableTreeNode.cs @@ -39,6 +39,8 @@ namespace ICSharpCode.ILSpy.Metadata public override object Text => $"{(int)Kind:X2} {Kind} ({metadataFile.Metadata.GetTableRowCount(Kind)})"; + public override object NavigationText => $"{(int)Kind:X2} {Kind} ({metadataFile.Name})"; + public override object Icon => Images.MetadataTable; public MetadataTableTreeNode(TableIndex table, MetadataFile metadataFile) diff --git a/ILSpy/Metadata/MetadataTablesTreeNode.cs b/ILSpy/Metadata/MetadataTablesTreeNode.cs index e7a1ae934..f00894e4b 100644 --- a/ILSpy/Metadata/MetadataTablesTreeNode.cs +++ b/ILSpy/Metadata/MetadataTablesTreeNode.cs @@ -39,6 +39,8 @@ namespace ICSharpCode.ILSpy.Metadata public override object Text => "Tables"; + public override object NavigationText => $"{Text} ({metadataFile.Name})"; + public override object Icon => Images.MetadataTableGroup; protected override void LoadChildren() diff --git a/ILSpy/Metadata/OptionalHeaderTreeNode.cs b/ILSpy/Metadata/OptionalHeaderTreeNode.cs index aa7cf2e7a..7ad743f35 100644 --- a/ILSpy/Metadata/OptionalHeaderTreeNode.cs +++ b/ILSpy/Metadata/OptionalHeaderTreeNode.cs @@ -42,6 +42,8 @@ namespace ICSharpCode.ILSpy.Metadata public override object Text => "Optional Header"; + public override object NavigationText => $"{Text} ({module.Name})"; + public override object Icon => Images.Header; public override bool View(ViewModels.TabPageModel tabPage)