Skip to content

Commit 945b449

Browse files
committed
Combine SA1113 implementation for base method declarations
1 parent 8831b09 commit 945b449

1 file changed

Lines changed: 11 additions & 21 deletions

File tree

StyleCop.Analyzers/StyleCop.Analyzers/ReadabilityRules/SA1113CommaMustBeOnSameLineAsPreviousParameter.cs

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,17 @@ internal class SA1113CommaMustBeOnSameLineAsPreviousParameter : DiagnosticAnalyz
5050
private static readonly DiagnosticDescriptor Descriptor =
5151
new DiagnosticDescriptor(DiagnosticId, Title, MessageFormat, AnalyzerCategory.ReadabilityRules, DiagnosticSeverity.Warning, AnalyzerConstants.EnabledByDefault, Description, HelpLink);
5252

53+
private static readonly ImmutableArray<SyntaxKind> BaseMethodDeclarationKinds =
54+
ImmutableArray.Create(
55+
SyntaxKind.MethodDeclaration,
56+
SyntaxKind.ConstructorDeclaration,
57+
SyntaxKind.OperatorDeclaration);
58+
5359
private static readonly ImmutableArray<SyntaxKind> ConstructorInitializerKinds =
5460
ImmutableArray.Create(SyntaxKind.BaseConstructorInitializer, SyntaxKind.ThisConstructorInitializer);
5561

5662
private static readonly Action<CompilationStartAnalysisContext> CompilationStartAction = HandleCompilationStart;
57-
private static readonly Action<SyntaxNodeAnalysisContext> MethodDeclarationAction = HandleMethodDeclaration;
58-
private static readonly Action<SyntaxNodeAnalysisContext> ConstructorDeclarationAction = HandleConstructorDeclaration;
63+
private static readonly Action<SyntaxNodeAnalysisContext> BaseMethodDeclarationAction = HandleBaseMethodDeclaration;
5964
private static readonly Action<SyntaxNodeAnalysisContext> InvocationExpressionAction = HandleInvocationExpression;
6065
private static readonly Action<SyntaxNodeAnalysisContext> ObjectCreationExpressionAction = HandleObjectCreationExpression;
6166
private static readonly Action<SyntaxNodeAnalysisContext> IndexerDeclarationAction = HandleIndexerDeclaration;
@@ -65,7 +70,6 @@ internal class SA1113CommaMustBeOnSameLineAsPreviousParameter : DiagnosticAnalyz
6570
private static readonly Action<SyntaxNodeAnalysisContext> ParenthesizedLambdaExpressionAction = HandleParenthesizedLambdaExpression;
6671
private static readonly Action<SyntaxNodeAnalysisContext> AttributeAction = HandleAttribute;
6772
private static readonly Action<SyntaxNodeAnalysisContext> AttributeListAction = HandleAttributeList;
68-
private static readonly Action<SyntaxNodeAnalysisContext> OperatorDeclarationAction = HandleOperatorDeclaration;
6973
private static readonly Action<SyntaxNodeAnalysisContext> ArrayCreationExpressionAction = HandleArrayCreationExpression;
7074
private static readonly Action<SyntaxNodeAnalysisContext> ConstructorInitializerAction = HandleConstructorInitializer;
7175

@@ -81,8 +85,7 @@ public override void Initialize(AnalysisContext context)
8185

8286
private static void HandleCompilationStart(CompilationStartAnalysisContext context)
8387
{
84-
context.RegisterSyntaxNodeActionHonorExclusions(MethodDeclarationAction, SyntaxKind.MethodDeclaration);
85-
context.RegisterSyntaxNodeActionHonorExclusions(ConstructorDeclarationAction, SyntaxKind.ConstructorDeclaration);
88+
context.RegisterSyntaxNodeActionHonorExclusions(BaseMethodDeclarationAction, BaseMethodDeclarationKinds);
8689
context.RegisterSyntaxNodeActionHonorExclusions(InvocationExpressionAction, SyntaxKind.InvocationExpression);
8790
context.RegisterSyntaxNodeActionHonorExclusions(ObjectCreationExpressionAction, SyntaxKind.ObjectCreationExpression);
8891
context.RegisterSyntaxNodeActionHonorExclusions(IndexerDeclarationAction, SyntaxKind.IndexerDeclaration);
@@ -92,7 +95,6 @@ private static void HandleCompilationStart(CompilationStartAnalysisContext conte
9295
context.RegisterSyntaxNodeActionHonorExclusions(ParenthesizedLambdaExpressionAction, SyntaxKind.ParenthesizedLambdaExpression);
9396
context.RegisterSyntaxNodeActionHonorExclusions(AttributeAction, SyntaxKind.Attribute);
9497
context.RegisterSyntaxNodeActionHonorExclusions(AttributeListAction, SyntaxKind.AttributeList);
95-
context.RegisterSyntaxNodeActionHonorExclusions(OperatorDeclarationAction, SyntaxKind.OperatorDeclaration);
9698
context.RegisterSyntaxNodeActionHonorExclusions(ArrayCreationExpressionAction, SyntaxKind.ArrayCreationExpression);
9799
context.RegisterSyntaxNodeActionHonorExclusions(ConstructorInitializerAction, ConstructorInitializerKinds);
98100
}
@@ -121,12 +123,6 @@ private static void HandleArrayCreationExpression(SyntaxNodeAnalysisContext cont
121123
}
122124
}
123125

124-
private static void HandleOperatorDeclaration(SyntaxNodeAnalysisContext context)
125-
{
126-
var operatorDeclaration = (OperatorDeclarationSyntax)context.Node;
127-
HandleBaseParameterListSyntax(context, operatorDeclaration.ParameterList);
128-
}
129-
130126
private static void HandleAttributeList(SyntaxNodeAnalysisContext context)
131127
{
132128
var attributeList = (AttributeListSyntax)context.Node;
@@ -198,16 +194,10 @@ private static void HandleInvocationExpression(SyntaxNodeAnalysisContext context
198194
HandleBaseArgumentListSyntax(context, invocationEpression.ArgumentList);
199195
}
200196

201-
private static void HandleConstructorDeclaration(SyntaxNodeAnalysisContext context)
202-
{
203-
var constructorDeclaration = (ConstructorDeclarationSyntax)context.Node;
204-
HandleBaseParameterListSyntax(context, constructorDeclaration.ParameterList);
205-
}
206-
207-
private static void HandleMethodDeclaration(SyntaxNodeAnalysisContext context)
197+
private static void HandleBaseMethodDeclaration(SyntaxNodeAnalysisContext context)
208198
{
209-
var methodDeclaration = (MethodDeclarationSyntax)context.Node;
210-
HandleBaseParameterListSyntax(context, methodDeclaration.ParameterList);
199+
var baseMethodDeclaration = (BaseMethodDeclarationSyntax)context.Node;
200+
HandleBaseParameterListSyntax(context, baseMethodDeclaration.ParameterList);
211201
}
212202

213203
private static void HandleConstructorInitializer(SyntaxNodeAnalysisContext context)

0 commit comments

Comments
 (0)