Skip to content

Commit 2628fbf

Browse files
committed
Addressed CR feedback.
1 parent de45506 commit 2628fbf

3 files changed

Lines changed: 34 additions & 71 deletions

File tree

StyleCop.Analyzers/StyleCop.Analyzers.CodeFixes/OrderingRules/SA1206CodeFixProvider.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
namespace StyleCop.Analyzers.OrderingRules
55
{
6+
using System;
67
using System.Collections.Generic;
78
using System.Collections.Immutable;
89
using System.Composition;
@@ -161,9 +162,8 @@ private class FixAll : DocumentBasedFixAllProvider
161162

162163
protected override string CodeActionTitle => OrderingResources.ModifierOrderCodeFix;
163164

164-
protected override async Task<SyntaxNode> FixAllInDocumentAsync(FixAllContext fixAllContext, Document document)
165+
protected override async Task<SyntaxNode> FixAllInDocumentAsync(FixAllContext fixAllContext, Document document, ImmutableArray<Diagnostic> diagnostics)
165166
{
166-
var diagnostics = await fixAllContext.GetDocumentDiagnosticsAsync(document).ConfigureAwait(false);
167167
if (diagnostics.IsEmpty)
168168
{
169169
return null;

StyleCop.Analyzers/StyleCop.Analyzers/Helpers/DeclarationModifiersHelper.cs

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -129,50 +129,50 @@ internal static SyntaxNode WithModifiers(this SyntaxNode node, SyntaxTokenList m
129129
{
130130
switch (node.Kind())
131131
{
132-
case SyntaxKind.MethodDeclaration:
133-
return ((MethodDeclarationSyntax)node).WithModifiers(modifiers);
132+
case SyntaxKind.MethodDeclaration:
133+
return ((MethodDeclarationSyntax)node).WithModifiers(modifiers);
134134

135-
case SyntaxKind.ConstructorDeclaration:
136-
return ((ConstructorDeclarationSyntax)node).WithModifiers(modifiers);
135+
case SyntaxKind.ConstructorDeclaration:
136+
return ((ConstructorDeclarationSyntax)node).WithModifiers(modifiers);
137137

138-
case SyntaxKind.OperatorDeclaration:
139-
return ((OperatorDeclarationSyntax)node).WithModifiers(modifiers);
138+
case SyntaxKind.OperatorDeclaration:
139+
return ((OperatorDeclarationSyntax)node).WithModifiers(modifiers);
140140

141-
case SyntaxKind.ConversionOperatorDeclaration:
142-
return ((ConversionOperatorDeclarationSyntax)node).WithModifiers(modifiers);
141+
case SyntaxKind.ConversionOperatorDeclaration:
142+
return ((ConversionOperatorDeclarationSyntax)node).WithModifiers(modifiers);
143143

144-
case SyntaxKind.PropertyDeclaration:
145-
return ((PropertyDeclarationSyntax)node).WithModifiers(modifiers);
144+
case SyntaxKind.PropertyDeclaration:
145+
return ((PropertyDeclarationSyntax)node).WithModifiers(modifiers);
146146

147-
case SyntaxKind.EventDeclaration:
148-
return ((EventDeclarationSyntax)node).WithModifiers(modifiers);
147+
case SyntaxKind.EventDeclaration:
148+
return ((EventDeclarationSyntax)node).WithModifiers(modifiers);
149149

150-
case SyntaxKind.IndexerDeclaration:
151-
return ((IndexerDeclarationSyntax)node).WithModifiers(modifiers);
150+
case SyntaxKind.IndexerDeclaration:
151+
return ((IndexerDeclarationSyntax)node).WithModifiers(modifiers);
152152

153-
case SyntaxKind.ClassDeclaration:
154-
return ((ClassDeclarationSyntax)node).WithModifiers(modifiers);
153+
case SyntaxKind.ClassDeclaration:
154+
return ((ClassDeclarationSyntax)node).WithModifiers(modifiers);
155155

156-
case SyntaxKind.StructDeclaration:
157-
return ((StructDeclarationSyntax)node).WithModifiers(modifiers);
156+
case SyntaxKind.StructDeclaration:
157+
return ((StructDeclarationSyntax)node).WithModifiers(modifiers);
158158

159-
case SyntaxKind.InterfaceDeclaration:
160-
return ((InterfaceDeclarationSyntax)node).WithModifiers(modifiers);
159+
case SyntaxKind.InterfaceDeclaration:
160+
return ((InterfaceDeclarationSyntax)node).WithModifiers(modifiers);
161161

162-
case SyntaxKind.EnumDeclaration:
163-
return ((EnumDeclarationSyntax)node).WithModifiers(modifiers);
162+
case SyntaxKind.EnumDeclaration:
163+
return ((EnumDeclarationSyntax)node).WithModifiers(modifiers);
164164

165-
case SyntaxKind.DelegateDeclaration:
166-
return ((DelegateDeclarationSyntax)node).WithModifiers(modifiers);
165+
case SyntaxKind.DelegateDeclaration:
166+
return ((DelegateDeclarationSyntax)node).WithModifiers(modifiers);
167167

168-
case SyntaxKind.FieldDeclaration:
169-
return ((FieldDeclarationSyntax)node).WithModifiers(modifiers);
168+
case SyntaxKind.FieldDeclaration:
169+
return ((FieldDeclarationSyntax)node).WithModifiers(modifiers);
170170

171-
case SyntaxKind.EventFieldDeclaration:
172-
return ((EventFieldDeclarationSyntax)node).WithModifiers(modifiers);
171+
case SyntaxKind.EventFieldDeclaration:
172+
return ((EventFieldDeclarationSyntax)node).WithModifiers(modifiers);
173173

174-
default:
175-
return node;
174+
default:
175+
return node;
176176
}
177177
}
178178
}

StyleCop.Analyzers/StyleCop.Analyzers/OrderingRules/SA1206DeclarationKeywordsMustFollowOrder.cs

Lines changed: 2 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ namespace StyleCop.Analyzers.OrderingRules
55
{
66
using System;
77
using System.Collections.Immutable;
8+
using Helpers;
89
using Microsoft.CodeAnalysis;
910
using Microsoft.CodeAnalysis.CSharp;
1011
using Microsoft.CodeAnalysis.CSharp.Syntax;
@@ -79,48 +80,10 @@ public override void Initialize(AnalysisContext context)
7980

8081
private static void HandleDeclaration(SyntaxNodeAnalysisContext context)
8182
{
82-
var modifiers = GetModifiersFromDeclaration(context.Node);
83+
var modifiers = DeclarationModifiersHelper.GetModifiers(context.Node as MemberDeclarationSyntax);
8384
CheckModifiersOrderAndReportDiagnostics(context, modifiers);
8485
}
8586

86-
// TODO: Can this be merged with DeclarationModifiersHelper.GetModifiersFromDeclaration?
87-
private static SyntaxTokenList GetModifiersFromDeclaration(SyntaxNode node)
88-
{
89-
SyntaxTokenList result = default(SyntaxTokenList);
90-
91-
switch (node.Kind())
92-
{
93-
case SyntaxKind.ClassDeclaration:
94-
case SyntaxKind.StructDeclaration:
95-
case SyntaxKind.InterfaceDeclaration:
96-
result = ((BaseTypeDeclarationSyntax)node).Modifiers;
97-
break;
98-
case SyntaxKind.EnumDeclaration:
99-
result = ((EnumDeclarationSyntax)node).Modifiers;
100-
break;
101-
case SyntaxKind.DelegateDeclaration:
102-
result = ((DelegateDeclarationSyntax)node).Modifiers;
103-
break;
104-
case SyntaxKind.FieldDeclaration:
105-
case SyntaxKind.EventFieldDeclaration:
106-
result = ((BaseFieldDeclarationSyntax)node).Modifiers;
107-
break;
108-
case SyntaxKind.PropertyDeclaration:
109-
case SyntaxKind.EventDeclaration:
110-
case SyntaxKind.IndexerDeclaration:
111-
result = ((BasePropertyDeclarationSyntax)node).Modifiers;
112-
break;
113-
case SyntaxKind.MethodDeclaration:
114-
case SyntaxKind.ConstructorDeclaration:
115-
case SyntaxKind.OperatorDeclaration:
116-
case SyntaxKind.ConversionOperatorDeclaration:
117-
result = ((BaseMethodDeclarationSyntax)node).Modifiers;
118-
break;
119-
}
120-
121-
return result;
122-
}
123-
12487
private static void CheckModifiersOrderAndReportDiagnostics(SyntaxNodeAnalysisContext context, SyntaxTokenList modifiers)
12588
{
12689
var previousModifierType = ModifierType.None;

0 commit comments

Comments
 (0)