From 2077306a499a51b342b384285a00b17a0f9f1dad Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Sun, 2 Jan 2022 22:33:26 +0100 Subject: [PATCH] Fix #2368: Dim namespaces containing only internal types --- ILSpy/TreeNodes/AssemblyTreeNode.cs | 1 + ILSpy/TreeNodes/NamespaceTreeNode.cs | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/ILSpy/TreeNodes/AssemblyTreeNode.cs b/ILSpy/TreeNodes/AssemblyTreeNode.cs index a4e9f1c0d..59ea8b066 100644 --- a/ILSpy/TreeNodes/AssemblyTreeNode.cs +++ b/ILSpy/TreeNodes/AssemblyTreeNode.cs @@ -232,6 +232,7 @@ namespace ICSharpCode.ILSpy.TreeNodes { if (ns.Children.Count > 0) this.Children.Add(ns); + ns.SetPublicAPI(ns.Children.OfType().Any(n => n.IsPublicAPI)); } } diff --git a/ILSpy/TreeNodes/NamespaceTreeNode.cs b/ILSpy/TreeNodes/NamespaceTreeNode.cs index c51111558..19982834f 100644 --- a/ILSpy/TreeNodes/NamespaceTreeNode.cs +++ b/ILSpy/TreeNodes/NamespaceTreeNode.cs @@ -29,6 +29,7 @@ namespace ICSharpCode.ILSpy.TreeNodes public sealed class NamespaceTreeNode : ILSpyTreeNode { readonly string name; + bool isPublicAPI; public string Name { get { return name; } @@ -49,6 +50,13 @@ namespace ICSharpCode.ILSpy.TreeNodes get { return Images.Namespace; } } + public override bool IsPublicAPI => isPublicAPI; + + internal void SetPublicAPI(bool value) + { + this.isPublicAPI = value; + } + public override FilterResult Filter(FilterSettings settings) { if (settings.SearchTermMatches(name))