Browse Source

When C# is selected, hide get/set/add/remove accessors in the tree view.

pull/10/head
Daniel Grunwald 15 years ago
parent
commit
0f655e8c1d
  1. 8
      ILSpy/CSharpLanguage.cs
  2. 5
      ILSpy/Language.cs
  3. 28
      ILSpy/TreeNodes/EventTreeNode.cs
  4. 2
      ILSpy/TreeNodes/FieldTreeNode.cs
  5. 2
      ILSpy/TreeNodes/MethodTreeNode.cs
  6. 24
      ILSpy/TreeNodes/PropertyTreeNode.cs
  7. 8
      ILSpy/TreeNodes/TypeTreeNode.cs

8
ILSpy/CSharpLanguage.cs

@ -110,5 +110,13 @@ namespace ICSharpCode.ILSpy @@ -110,5 +110,13 @@ namespace ICSharpCode.ILSpy
return null;
}
}
public override bool ShowMember(MemberReference member)
{
MethodDefinition method = member as MethodDefinition;
if (method != null && (method.IsGetter || method.IsSetter || method.IsAddOn || method.IsRemoveOn))
return false;
return true;
}
}
}

5
ILSpy/Language.cs

@ -108,6 +108,11 @@ namespace ICSharpCode.ILSpy @@ -108,6 +108,11 @@ namespace ICSharpCode.ILSpy
{
return Name;
}
public virtual bool ShowMember(MemberReference member)
{
return true;
}
}
public static class Languages

28
ILSpy/TreeNodes/EventTreeNode.cs

@ -34,7 +34,17 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -34,7 +34,17 @@ namespace ICSharpCode.ILSpy.TreeNodes
if (ev == null)
throw new ArgumentNullException("ev");
this.ev = ev;
this.LazyLoading = true;
if (ev.AddMethod != null)
this.Children.Add(new MethodTreeNode(ev.AddMethod));
if (ev.RemoveMethod != null)
this.Children.Add(new MethodTreeNode(ev.RemoveMethod));
if (ev.InvokeMethod != null)
this.Children.Add(new MethodTreeNode(ev.InvokeMethod));
if (ev.HasOtherMethods) {
foreach (var m in ev.OtherMethods)
this.Children.Add(new MethodTreeNode(m));
}
}
public EventDefinition EventDefinition {
@ -51,23 +61,9 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -51,23 +61,9 @@ namespace ICSharpCode.ILSpy.TreeNodes
}
}
protected override void LoadChildren()
{
if (ev.AddMethod != null)
this.Children.Add(new MethodTreeNode(ev.AddMethod));
if (ev.RemoveMethod != null)
this.Children.Add(new MethodTreeNode(ev.RemoveMethod));
if (ev.InvokeMethod != null)
this.Children.Add(new MethodTreeNode(ev.InvokeMethod));
if (ev.HasOtherMethods) {
foreach (var m in ev.OtherMethods)
this.Children.Add(new MethodTreeNode(m));
}
}
public override FilterResult Filter(FilterSettings settings)
{
if (settings.SearchTermMatches(ev.Name))
if (settings.SearchTermMatches(ev.Name) && settings.Language.ShowMember(ev))
return FilterResult.Match;
else
return FilterResult.Hidden;

2
ILSpy/TreeNodes/FieldTreeNode.cs

@ -55,7 +55,7 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -55,7 +55,7 @@ namespace ICSharpCode.ILSpy.TreeNodes
public override FilterResult Filter(FilterSettings settings)
{
if (settings.SearchTermMatches(field.Name))
if (settings.SearchTermMatches(field.Name) && settings.Language.ShowMember(field))
return FilterResult.Match;
else
return FilterResult.Hidden;

2
ILSpy/TreeNodes/MethodTreeNode.cs

@ -76,7 +76,7 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -76,7 +76,7 @@ namespace ICSharpCode.ILSpy.TreeNodes
public override FilterResult Filter(FilterSettings settings)
{
if (settings.SearchTermMatches(method.Name))
if (settings.SearchTermMatches(method.Name) && settings.Language.ShowMember(method))
return FilterResult.Match;
else
return FilterResult.Hidden;

24
ILSpy/TreeNodes/PropertyTreeNode.cs

@ -36,7 +36,15 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -36,7 +36,15 @@ namespace ICSharpCode.ILSpy.TreeNodes
throw new ArgumentNullException("property");
this.property = property;
this.isIndexer = isIndexer;
this.LazyLoading = true;
if (property.GetMethod != null)
this.Children.Add(new MethodTreeNode(property.GetMethod));
if (property.SetMethod != null)
this.Children.Add(new MethodTreeNode(property.SetMethod));
if (property.HasOtherMethods) {
foreach (var m in property.OtherMethods)
this.Children.Add(new MethodTreeNode(m));
}
}
public PropertyDefinition PropertyDefinition {
@ -53,21 +61,9 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -53,21 +61,9 @@ namespace ICSharpCode.ILSpy.TreeNodes
}
}
protected override void LoadChildren()
{
if (property.GetMethod != null)
this.Children.Add(new MethodTreeNode(property.GetMethod));
if (property.SetMethod != null)
this.Children.Add(new MethodTreeNode(property.SetMethod));
if (property.HasOtherMethods) {
foreach (var m in property.OtherMethods)
this.Children.Add(new MethodTreeNode(m));
}
}
public override FilterResult Filter(FilterSettings settings)
{
if (settings.SearchTermMatches(property.Name))
if (settings.SearchTermMatches(property.Name) && settings.Language.ShowMember(property))
return FilterResult.Match;
else
return FilterResult.Hidden;

8
ILSpy/TreeNodes/TypeTreeNode.cs

@ -80,11 +80,15 @@ namespace ICSharpCode.ILSpy.TreeNodes @@ -80,11 +80,15 @@ namespace ICSharpCode.ILSpy.TreeNodes
{
if (!settings.ShowInternalApi && !IsPublicAPI)
return FilterResult.Hidden;
if (settings.SearchTermMatches(type.Name))
return FilterResult.Match;
if (settings.SearchTermMatches(type.Name)) {
if (type.IsNested && !settings.Language.ShowMember(type))
return FilterResult.Hidden;
else
return FilterResult.Match;
} else {
return FilterResult.Recurse;
}
}
protected override void LoadChildren()
{

Loading…
Cancel
Save