Browse Source

null FilterSettings check

pull/3082/head
miloush 2 years ago
parent
commit
19bc2a2f9e
  1. 16
      ILSpy/TreeNodes/TypeTreeNode.cs

16
ILSpy/TreeNodes/TypeTreeNode.cs

@ -106,12 +106,12 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -106,12 +106,12 @@ namespace ICSharpCode.ILSpy.TreeNodes
this.Children.Add(new BaseTypesTreeNode(ParentAssemblyNode.LoadedAssembly.GetPEFileOrNull(), TypeDefinition));
if (!TypeDefinition.IsSealed)
this.Children.Add(new DerivedTypesTreeNode(ParentAssemblyNode.AssemblyList, TypeDefinition));
loadedInheritedMembers = FilterSettings.ShowBaseApi;
IEnumerable<ITypeDefinition> nestedTypes = GetMembers(TypeDefinition, t => t.NestedTypes, FilterSettings.ShowBaseApi);
IEnumerable<IField> fields = GetMembers(TypeDefinition, t => t.Fields, FilterSettings.ShowBaseApi);
IEnumerable<IProperty> properties = GetMembers(TypeDefinition, t => t.Properties, FilterSettings.ShowBaseApi);
IEnumerable<IEvent> events = GetMembers(TypeDefinition, t => t.Events, FilterSettings.ShowBaseApi);
IEnumerable<IMethod> methods = GetMembers(TypeDefinition, t => t.Methods, FilterSettings.ShowBaseApi);
loadedInheritedMembers = FilterSettings?.ShowBaseApi;
IEnumerable<ITypeDefinition> nestedTypes = GetMembers(TypeDefinition, t => t.NestedTypes, FilterSettings?.ShowBaseApi);
IEnumerable<IField> fields = GetMembers(TypeDefinition, t => t.Fields, FilterSettings?.ShowBaseApi);
IEnumerable<IProperty> properties = GetMembers(TypeDefinition, t => t.Properties, FilterSettings?.ShowBaseApi);
IEnumerable<IEvent> events = GetMembers(TypeDefinition, t => t.Events, FilterSettings?.ShowBaseApi);
IEnumerable<IMethod> methods = GetMembers(TypeDefinition, t => t.Methods, FilterSettings?.ShowBaseApi);
foreach (var nestedType in nestedTypes.OrderBy(t => t.Name, NaturalStringComparer.Instance))
{
this.Children.Add(new TypeTreeNode(nestedType, ParentAssemblyNode));
@ -147,10 +147,10 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -147,10 +147,10 @@ namespace ICSharpCode.ILSpy.TreeNodes
}
}
private IEnumerable<TMember> GetMembers<TMember>(ITypeDefinition type, Func<ITypeDefinition, IEnumerable<TMember>> selector, bool includeInherited)
private IEnumerable<TMember> GetMembers<TMember>(ITypeDefinition type, Func<ITypeDefinition, IEnumerable<TMember>> selector, bool? includeInherited)
{
IEnumerable<TMember> allMembers = selector(type);
if (includeInherited)
if (includeInherited == true)
foreach (var baseType in type.GetNonInterfaceBaseTypes().Reverse().Select(t => t.GetDefinition()))
if (baseType != null && baseType != type)
allMembers = allMembers.Concat(selector(baseType));

Loading…
Cancel
Save