Browse Source

Property accessors analyzer added.

pull/112/head
Artur Zgodziski 15 years ago
parent
commit
6c928d7220
  1. 1
      ILSpy/ILSpy.csproj
  2. 55
      ILSpy/TreeNodes/Analyzer/AnalyzedPropertyAccessorsTreeNode.cs
  3. 5
      ILSpy/TreeNodes/Analyzer/AnalyzedPropertyTreeNode.cs

1
ILSpy/ILSpy.csproj

@ -129,6 +129,7 @@ @@ -129,6 +129,7 @@
<Compile Include="TreeNodes\IMemberTreeNode.cs" />
<Compile Include="TreeNodes\XamlResourceNode.cs" />
<Compile Include="XmlDocKeyProvider.cs" />
<Compile Include="TreeNodes\Analyzer\AnalyzedPropertyAccessorsTreeNode.cs" />
<Compile Include="TreeNodes\Analyzer\AnalyzedPropertyOverridesTreeNode.cs" />
<Compile Include="TreeNodes\Analyzer\AnalyzedPropertyTreeNode.cs" />
<EmbeddedResource Include="..\README.txt">

55
ILSpy/TreeNodes/Analyzer/AnalyzedPropertyAccessorsTreeNode.cs

@ -0,0 +1,55 @@ @@ -0,0 +1,55 @@
using System;
using Mono.Cecil;
namespace ICSharpCode.ILSpy.TreeNodes.Analyzer
{
/// <summary>
/// Description of AnalyzedPropertyAccessorsTreeNode.
/// </summary>
public class AnalyzedPropertyAccessorsTreeNode : AnalyzerTreeNode
{
PropertyDefinition analyzedProperty;
public AnalyzedPropertyAccessorsTreeNode(PropertyDefinition analyzedProperty)
{
if (analyzedProperty == null)
throw new ArgumentNullException("analyzedProperty");
this.analyzedProperty = analyzedProperty;
if (analyzedProperty.GetMethod != null)
this.Children.Add(new AnalyzedPropertyAccessorTreeNode(analyzedProperty.GetMethod, "get"));
if (analyzedProperty.SetMethod != null)
this.Children.Add(new AnalyzedPropertyAccessorTreeNode(analyzedProperty.SetMethod, "set"));
foreach (var accessor in analyzedProperty.OtherMethods)
this.Children.Add(new AnalyzedPropertyAccessorTreeNode(accessor, null));
}
public override object Icon {
get { return Images.Search; }
}
public override object Text {
get { return "Accessors"; }
}
public static bool CanShow(PropertyDefinition property)
{
return !MainWindow.Instance.CurrentLanguage.ShowMember(property.GetMethod ?? property.SetMethod);
}
class AnalyzedPropertyAccessorTreeNode : AnalyzedMethodTreeNode
{
string name;
public AnalyzedPropertyAccessorTreeNode(MethodDefinition analyzedMethod, string name)
: base(analyzedMethod)
{
this.name = name;
}
public override object Text {
get { return name ?? base.Text; }
}
}
}
}

5
ILSpy/TreeNodes/Analyzer/AnalyzedPropertyTreeNode.cs

@ -53,6 +53,8 @@ namespace ICSharpCode.ILSpy.TreeNodes.Analyzer @@ -53,6 +53,8 @@ namespace ICSharpCode.ILSpy.TreeNodes.Analyzer
protected override void LoadChildren()
{
if(AnalyzedPropertyAccessorsTreeNode.CanShow(analyzedProperty))
this.Children.Add(new AnalyzedPropertyAccessorsTreeNode(analyzedProperty));
if (AnalyzedPropertyOverridesTreeNode.CanShowAnalyzer(analyzedProperty))
this.Children.Add(new AnalyzedPropertyOverridesTreeNode(analyzedProperty));
//if (analyzedProperty.HasBody)
@ -74,7 +76,8 @@ namespace ICSharpCode.ILSpy.TreeNodes.Analyzer @@ -74,7 +76,8 @@ namespace ICSharpCode.ILSpy.TreeNodes.Analyzer
if (property == null)
return false;
return AnalyzedPropertyOverridesTreeNode.CanShowAnalyzer(property);
return AnalyzedPropertyAccessorsTreeNode.CanShow(property)
|| AnalyzedPropertyOverridesTreeNode.CanShowAnalyzer(property);
}
}
}

Loading…
Cancel
Save