From 2fd170ce7764157e1163a2ceded27f9dc889c36d Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Fri, 12 Jun 2026 20:16:44 +0200 Subject: [PATCH] Make the member tree nodes public again These types were public through release/10.1; the Avalonia port had dropped them to internal. Plugins build custom tree integrations on top of the member tree nodes, so restore their 10.1 visibility. NaturalStringComparer becomes public too, but keeps its static-class shape. Assisted-by: Claude:claude-fable-5:Claude Code --- ILSpy/TreeNodes/AssemblyReferenceTreeNode.cs | 2 +- ILSpy/TreeNodes/AssemblyTreeNode.cs | 2 +- ILSpy/TreeNodes/EventTreeNode.cs | 2 +- ILSpy/TreeNodes/ExtensionTreeNode.cs | 2 +- ILSpy/TreeNodes/FieldTreeNode.cs | 2 +- ILSpy/TreeNodes/MethodTreeNode.cs | 2 +- ILSpy/TreeNodes/NamespaceTreeNode.cs | 2 +- ILSpy/TreeNodes/NaturalStringComparer.cs | 2 +- ILSpy/TreeNodes/PropertyTreeNode.cs | 2 +- ILSpy/TreeNodes/TypeTreeNode.cs | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/ILSpy/TreeNodes/AssemblyReferenceTreeNode.cs b/ILSpy/TreeNodes/AssemblyReferenceTreeNode.cs index 892418522..5b7f99bad 100644 --- a/ILSpy/TreeNodes/AssemblyReferenceTreeNode.cs +++ b/ILSpy/TreeNodes/AssemblyReferenceTreeNode.cs @@ -41,7 +41,7 @@ namespace ICSharpCode.ILSpy.TreeNodes /// using ILAmbience escaping plus a generic assembly icon. Children (the /// per-reference type list and transitive references) are not yet implemented. /// - sealed class AssemblyReferenceTreeNode : ILSpyTreeNode + public sealed class AssemblyReferenceTreeNode : ILSpyTreeNode { enum LoadState { Unloaded, Loading, Loaded, Failed } diff --git a/ILSpy/TreeNodes/AssemblyTreeNode.cs b/ILSpy/TreeNodes/AssemblyTreeNode.cs index 7af1f3734..9e9eae875 100644 --- a/ILSpy/TreeNodes/AssemblyTreeNode.cs +++ b/ILSpy/TreeNodes/AssemblyTreeNode.cs @@ -42,7 +42,7 @@ using ICSharpCode.ILSpy.Languages; namespace ICSharpCode.ILSpy.TreeNodes { - sealed class AssemblyTreeNode : ILSpyTreeNode + public sealed class AssemblyTreeNode : ILSpyTreeNode { readonly LoadedAssembly assembly; string? loadError; diff --git a/ILSpy/TreeNodes/EventTreeNode.cs b/ILSpy/TreeNodes/EventTreeNode.cs index 7dac3351b..21e3b145a 100644 --- a/ILSpy/TreeNodes/EventTreeNode.cs +++ b/ILSpy/TreeNodes/EventTreeNode.cs @@ -28,7 +28,7 @@ using ICSharpCode.ILSpy.Languages; namespace ICSharpCode.ILSpy.TreeNodes { - sealed class EventTreeNode : ILSpyTreeNode, IMemberTreeNode + public sealed class EventTreeNode : ILSpyTreeNode, IMemberTreeNode { public IEvent EventDefinition { get; } diff --git a/ILSpy/TreeNodes/ExtensionTreeNode.cs b/ILSpy/TreeNodes/ExtensionTreeNode.cs index 9c7d5d455..1d9449c2c 100644 --- a/ILSpy/TreeNodes/ExtensionTreeNode.cs +++ b/ILSpy/TreeNodes/ExtensionTreeNode.cs @@ -39,7 +39,7 @@ namespace ICSharpCode.ILSpy.TreeNodes /// methods/properties; the block's own members (methods + properties) appear as /// children of this node when expanded. /// - internal sealed class ExtensionTreeNode : ILSpyTreeNode + public sealed class ExtensionTreeNode : ILSpyTreeNode { public ExtensionTreeNode( ITypeDefinition typeDefinition, diff --git a/ILSpy/TreeNodes/FieldTreeNode.cs b/ILSpy/TreeNodes/FieldTreeNode.cs index 509d9cfc8..523ad263e 100644 --- a/ILSpy/TreeNodes/FieldTreeNode.cs +++ b/ILSpy/TreeNodes/FieldTreeNode.cs @@ -28,7 +28,7 @@ using ICSharpCode.ILSpy.Languages; namespace ICSharpCode.ILSpy.TreeNodes { - sealed class FieldTreeNode : ILSpyTreeNode, IMemberTreeNode + public sealed class FieldTreeNode : ILSpyTreeNode, IMemberTreeNode { public IField FieldDefinition { get; } diff --git a/ILSpy/TreeNodes/MethodTreeNode.cs b/ILSpy/TreeNodes/MethodTreeNode.cs index b59245410..210b3a1a5 100644 --- a/ILSpy/TreeNodes/MethodTreeNode.cs +++ b/ILSpy/TreeNodes/MethodTreeNode.cs @@ -28,7 +28,7 @@ using ICSharpCode.ILSpy.Languages; namespace ICSharpCode.ILSpy.TreeNodes { - sealed class MethodTreeNode : ILSpyTreeNode, IMemberTreeNode + public sealed class MethodTreeNode : ILSpyTreeNode, IMemberTreeNode { public IMethod MethodDefinition { get; } diff --git a/ILSpy/TreeNodes/NamespaceTreeNode.cs b/ILSpy/TreeNodes/NamespaceTreeNode.cs index 2262394e1..4cdb51fbe 100644 --- a/ILSpy/TreeNodes/NamespaceTreeNode.cs +++ b/ILSpy/TreeNodes/NamespaceTreeNode.cs @@ -29,7 +29,7 @@ using ICSharpCode.ILSpy.Languages; namespace ICSharpCode.ILSpy.TreeNodes { - sealed class NamespaceTreeNode : ILSpyTreeNode + public sealed class NamespaceTreeNode : ILSpyTreeNode { readonly string name; readonly string fullName; diff --git a/ILSpy/TreeNodes/NaturalStringComparer.cs b/ILSpy/TreeNodes/NaturalStringComparer.cs index b5bc384a0..b4cea596a 100644 --- a/ILSpy/TreeNodes/NaturalStringComparer.cs +++ b/ILSpy/TreeNodes/NaturalStringComparer.cs @@ -24,7 +24,7 @@ namespace ICSharpCode.ILSpy.TreeNodes /// /// .NET natural string comparison. /// - internal static class NaturalStringComparer + public static class NaturalStringComparer { public static readonly IComparer Instance = System.StringComparer.Create(CultureInfo.CurrentCulture, CompareOptions.NumericOrdering); diff --git a/ILSpy/TreeNodes/PropertyTreeNode.cs b/ILSpy/TreeNodes/PropertyTreeNode.cs index 1b227160d..4e50563ec 100644 --- a/ILSpy/TreeNodes/PropertyTreeNode.cs +++ b/ILSpy/TreeNodes/PropertyTreeNode.cs @@ -28,7 +28,7 @@ using ICSharpCode.ILSpy.Languages; namespace ICSharpCode.ILSpy.TreeNodes { - sealed class PropertyTreeNode : ILSpyTreeNode, IMemberTreeNode + public sealed class PropertyTreeNode : ILSpyTreeNode, IMemberTreeNode { public IProperty PropertyDefinition { get; } diff --git a/ILSpy/TreeNodes/TypeTreeNode.cs b/ILSpy/TreeNodes/TypeTreeNode.cs index 50b90a534..ae3e3fcfa 100644 --- a/ILSpy/TreeNodes/TypeTreeNode.cs +++ b/ILSpy/TreeNodes/TypeTreeNode.cs @@ -33,7 +33,7 @@ using ICSharpCode.ILSpy.Languages; namespace ICSharpCode.ILSpy.TreeNodes { - sealed class TypeTreeNode : ILSpyTreeNode, IMemberTreeNode + public sealed class TypeTreeNode : ILSpyTreeNode, IMemberTreeNode { readonly TypeDefinitionHandle handle; readonly MetadataFile module;