@@ -40,8 +40,7 @@ internal class SA1208SystemUsingDirectivesMustBePlacedBeforeOtherUsingDirectives
4040 new DiagnosticDescriptor ( DiagnosticId , Title , MessageFormat , AnalyzerCategory . OrderingRules , DiagnosticSeverity . Warning , AnalyzerConstants . EnabledByDefault , Description , HelpLink ) ;
4141
4242 private static readonly Action < SyntaxNodeAnalysisContext , StyleCopSettings > CompilationUnitAction = HandleCompilationUnit ;
43- private static readonly Action < SyntaxNodeAnalysisContext , StyleCopSettings > NamespaceDeclarationAction = HandleNamespaceDeclaration ;
44- private static readonly Action < SyntaxNodeAnalysisContext , StyleCopSettings > FileScopedNamespaceDeclarationAction = HandleFileScopedNamespaceDeclaration ;
43+ private static readonly Action < SyntaxNodeAnalysisContext , StyleCopSettings > BaseNamespaceDeclarationAction = HandleBaseNamespaceDeclaration ;
4544
4645 /// <inheritdoc/>
4746 public override ImmutableArray < DiagnosticDescriptor > SupportedDiagnostics { get ; } =
@@ -54,8 +53,7 @@ public override void Initialize(AnalysisContext context)
5453 context . EnableConcurrentExecution ( ) ;
5554
5655 context . RegisterSyntaxNodeAction ( CompilationUnitAction , SyntaxKind . CompilationUnit ) ;
57- context . RegisterSyntaxNodeAction ( NamespaceDeclarationAction , SyntaxKind . NamespaceDeclaration ) ;
58- context . RegisterSyntaxNodeAction ( FileScopedNamespaceDeclarationAction , SyntaxKindEx . FileScopedNamespaceDeclaration ) ;
56+ context . RegisterSyntaxNodeAction ( BaseNamespaceDeclarationAction , SyntaxKinds . BaseNamespaceDeclaration ) ;
5957 }
6058
6159 private static void HandleCompilationUnit ( SyntaxNodeAnalysisContext context , StyleCopSettings settings )
@@ -72,26 +70,14 @@ private static void HandleCompilationUnit(SyntaxNodeAnalysisContext context, Sty
7270 ProcessUsingsAndReportDiagnostic ( usings , context ) ;
7371 }
7472
75- private static void HandleNamespaceDeclaration ( SyntaxNodeAnalysisContext context , StyleCopSettings settings )
73+ private static void HandleBaseNamespaceDeclaration ( SyntaxNodeAnalysisContext context , StyleCopSettings settings )
7674 {
7775 if ( ! settings . OrderingRules . SystemUsingDirectivesFirst )
7876 {
7977 return ;
8078 }
8179
82- var namespaceDeclaration = ( NamespaceDeclarationSyntax ) context . Node ;
83- var usings = namespaceDeclaration . Usings ;
84- ProcessUsingsAndReportDiagnostic ( usings , context ) ;
85- }
86-
87- private static void HandleFileScopedNamespaceDeclaration ( SyntaxNodeAnalysisContext context , StyleCopSettings settings )
88- {
89- if ( ! settings . OrderingRules . SystemUsingDirectivesFirst )
90- {
91- return ;
92- }
93-
94- var namespaceDeclaration = ( FileScopedNamespaceDeclarationSyntaxWrapper ) context . Node ;
80+ var namespaceDeclaration = ( BaseNamespaceDeclarationSyntaxWrapper ) context . Node ;
9581 var usings = namespaceDeclaration . Usings ;
9682 ProcessUsingsAndReportDiagnostic ( usings , context ) ;
9783 }
0 commit comments