Extract duplicated code in analyzers

This commit is contained in:
Tyrrrz
2021-03-21 13:35:38 +02:00
parent 7d3d79b861
commit bade0a0048
18 changed files with 129 additions and 170 deletions

View File

@@ -1,7 +1,7 @@
using System.Linq;
using CliFx.Analyzers.ObjectModel;
using CliFx.Analyzers.Utils.Extensions;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Diagnostics;
@@ -17,15 +17,11 @@ namespace CliFx.Analyzers
{
}
private void Analyze(SyntaxNodeAnalysisContext context)
private void Analyze(
SyntaxNodeAnalysisContext context,
PropertyDeclarationSyntax propertyDeclaration,
IPropertySymbol property)
{
if (context.Node is not PropertyDeclarationSyntax propertyDeclaration)
return;
var property = context.SemanticModel.GetDeclaredSymbol(propertyDeclaration);
if (property is null)
return;
var parameter = CommandParameterSymbol.TryResolve(property);
if (parameter is null)
return;
@@ -53,7 +49,7 @@ namespace CliFx.Analyzers
public override void Initialize(AnalysisContext context)
{
base.Initialize(context);
context.RegisterSyntaxNodeAction(Analyze, SyntaxKind.PropertyDeclaration);
context.HandlePropertyDeclaration(Analyze);
}
}
}