Browse Source

Merge 421865acc7 into 0bfe222cf4

pull/3081/merge
Jan Kučera 5 days ago committed by GitHub
parent
commit
a39918179f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 2
      ILSpy/TreeNodes/BaseTypesEntryNode.cs
  2. 3
      ILSpy/TreeNodes/BaseTypesTreeNode.cs
  3. 2
      ILSpy/TreeNodes/DerivedTypesEntryNode.cs
  4. 10
      ILSpy/TreeNodes/DerivedTypesTreeNode.cs

2
ILSpy/TreeNodes/BaseTypesEntryNode.cs

@ -59,7 +59,7 @@ namespace ICSharpCode.ILSpy.TreeNodes
public override void Decompile(Language language, ITextOutput output, DecompilationOptions options) public override void Decompile(Language language, ITextOutput output, DecompilationOptions options)
{ {
language.WriteCommentLine(output, language.TypeToString(type, includeNamespace: true)); language.DecompileType(type, output, options);
} }
IEntity IMemberTreeNode.Member => type; IEntity IMemberTreeNode.Member => type;

3
ILSpy/TreeNodes/BaseTypesTreeNode.cs

@ -71,7 +71,8 @@ namespace ICSharpCode.ILSpy.TreeNodes
App.Current.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(EnsureLazyChildren)); App.Current.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(EnsureLazyChildren));
foreach (ILSpyTreeNode child in this.Children) foreach (ILSpyTreeNode child in this.Children)
{ {
child.Decompile(language, output, options); if (child is IMemberTreeNode { Member: ITypeDefinition childType })
language.WriteCommentLine(output, language.TypeToString(childType, includeNamespace: true));
} }
} }
} }

2
ILSpy/TreeNodes/DerivedTypesEntryNode.cs

@ -96,7 +96,7 @@ namespace ICSharpCode.ILSpy.TreeNodes
public override void Decompile(Language language, ITextOutput output, DecompilationOptions options) public override void Decompile(Language language, ITextOutput output, DecompilationOptions options)
{ {
language.WriteCommentLine(output, language.TypeToString(type, includeNamespace: true)); language.DecompileType(type, output, options);
} }
IEntity IMemberTreeNode.Member => type; IEntity IMemberTreeNode.Member => type;

10
ILSpy/TreeNodes/DerivedTypesTreeNode.cs

@ -16,8 +16,10 @@
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE. // DEALINGS IN THE SOFTWARE.
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading; using System.Threading;
using System.Windows.Threading;
using ICSharpCode.Decompiler; using ICSharpCode.Decompiler;
using ICSharpCode.Decompiler.TypeSystem; using ICSharpCode.Decompiler.TypeSystem;
@ -104,7 +106,13 @@ namespace ICSharpCode.ILSpy.TreeNodes
public override void Decompile(Language language, ITextOutput output, DecompilationOptions options) public override void Decompile(Language language, ITextOutput output, DecompilationOptions options)
{ {
threading.Decompile(language, output, options, EnsureLazyChildren); App.Current.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(EnsureLazyChildren));
for (int i = 0; i < Children.Count; i++)
{
// LazyChildren are async and will not be ready on first call, avoid foreach.
if (Children[i] is IMemberTreeNode { Member: ITypeDefinition childType })
language.WriteCommentLine(output, language.TypeToString(childType, includeNamespace: true));
}
} }
} }
} }

Loading…
Cancel
Save