@@ -10,6 +10,7 @@ namespace StyleCop.Analyzers.ReadabilityRules
1010 using Microsoft . CodeAnalysis . CSharp . Syntax ;
1111 using Microsoft . CodeAnalysis . Diagnostics ;
1212 using StyleCop . Analyzers . Helpers ;
13+ using StyleCop . Analyzers . Lightup ;
1314
1415 /// <summary>
1516 /// The parameters to a C# method or indexer call or declaration are not all on the same line or each on a separate
@@ -65,6 +66,7 @@ internal class SA1117ParametersMustBeOnSameLineOrSeparateLines : DiagnosticAnaly
6566 ImmutableArray . Create ( SyntaxKind . ConstructorDeclaration , SyntaxKind . MethodDeclaration ) ;
6667
6768 private static readonly Action < SyntaxNodeAnalysisContext > BaseMethodDeclarationAction = HandleBaseMethodDeclaration ;
69+ private static readonly Action < SyntaxNodeAnalysisContext > LocalFunctionStatementAction = HandleLocalFunctionStatement ;
6870 private static readonly Action < SyntaxNodeAnalysisContext > ConstructorInitializerAction = HandleConstructorInitializer ;
6971 private static readonly Action < SyntaxNodeAnalysisContext > DelegateDeclarationAction = HandleDelegateDeclaration ;
7072 private static readonly Action < SyntaxNodeAnalysisContext > IndexerDeclarationAction = HandleIndexerDeclaration ;
@@ -88,6 +90,7 @@ public override void Initialize(AnalysisContext context)
8890 context . EnableConcurrentExecution ( ) ;
8991
9092 context . RegisterSyntaxNodeAction ( BaseMethodDeclarationAction , BaseMethodDeclarationKinds ) ;
93+ context . RegisterSyntaxNodeAction ( LocalFunctionStatementAction , SyntaxKindEx . LocalFunctionStatement ) ;
9194 context . RegisterSyntaxNodeAction ( ConstructorInitializerAction , SyntaxKinds . ConstructorInitializer ) ;
9295 context . RegisterSyntaxNodeAction ( DelegateDeclarationAction , SyntaxKind . DelegateDeclaration ) ;
9396 context . RegisterSyntaxNodeAction ( IndexerDeclarationAction , SyntaxKind . IndexerDeclaration ) ;
@@ -107,6 +110,12 @@ private static void HandleBaseMethodDeclaration(SyntaxNodeAnalysisContext contex
107110 HandleParameterListSyntax ( context , declaration . ParameterList ) ;
108111 }
109112
113+ private static void HandleLocalFunctionStatement ( SyntaxNodeAnalysisContext context )
114+ {
115+ var statement = ( LocalFunctionStatementSyntaxWrapper ) context . Node ;
116+ HandleParameterListSyntax ( context , statement . ParameterList ) ;
117+ }
118+
110119 private static void HandleInvocationExpression ( SyntaxNodeAnalysisContext context )
111120 {
112121 var invocation = ( InvocationExpressionSyntax ) context . Node ;
0 commit comments