Skip to content

Commit 8769c6e

Browse files
committed
Add corrected ID and additional documentation to SA1413
1 parent db0b461 commit 8769c6e

10 files changed

Lines changed: 63 additions & 37 deletions

File tree

StyleCop.Analyzers/StyleCop.Analyzers.CodeFixes/MaintainabilityRules/SA1653CodeFixProvider.cs renamed to StyleCop.Analyzers/StyleCop.Analyzers.CodeFixes/MaintainabilityRules/SA1413CodeFixProvider.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,15 @@ namespace StyleCop.Analyzers.MaintainabilityRules
1919
using Microsoft.CodeAnalysis.Editing;
2020

2121
/// <summary>
22-
/// Implements a code fix for <see cref="SA1653UseTrailingCommasInMultiLineInitializers"/>.
22+
/// Implements a code fix for <see cref="SA1413UseTrailingCommasInMultiLineInitializers"/>.
2323
/// </summary>
24-
[ExportCodeFixProvider(LanguageNames.CSharp, Name = nameof(SA1653CodeFixProvider))]
24+
[ExportCodeFixProvider(LanguageNames.CSharp, Name = nameof(SA1413CodeFixProvider))]
2525
[Shared]
26-
internal class SA1653CodeFixProvider : CodeFixProvider
26+
internal class SA1413CodeFixProvider : CodeFixProvider
2727
{
2828
/// <inheritdoc/>
2929
public override ImmutableArray<string> FixableDiagnosticIds { get; } =
30-
ImmutableArray.Create(SA1653UseTrailingCommasInMultiLineInitializers.DiagnosticId);
30+
ImmutableArray.Create(SA1413UseTrailingCommasInMultiLineInitializers.DiagnosticId);
3131

3232
/// <inheritdoc/>
3333
public override FixAllProvider GetFixAllProvider()
@@ -42,9 +42,9 @@ public override Task RegisterCodeFixesAsync(CodeFixContext context)
4242
{
4343
context.RegisterCodeFix(
4444
CodeAction.Create(
45-
MaintainabilityResources.SA1653CodeFix,
45+
MaintainabilityResources.SA1413CodeFix,
4646
cancellationToken => GetTransformedDocumentAsync(context.Document, diagnostic, cancellationToken),
47-
nameof(SA1653CodeFixProvider)),
47+
nameof(SA1413CodeFixProvider)),
4848
diagnostic);
4949
}
5050

StyleCop.Analyzers/StyleCop.Analyzers.CodeFixes/StyleCop.Analyzers.CodeFixes.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@
9595
<Compile Include="MaintainabilityRules\SA1410SA1411CodeFixProvider.cs" />
9696
<Compile Include="MaintainabilityRules\SA1412CodeFixProvider.cs" />
9797
<Compile Include="MaintainabilityRules\SA1412FixAllProvider.cs" />
98-
<Compile Include="MaintainabilityRules\SA1653CodeFixProvider.cs" />
98+
<Compile Include="MaintainabilityRules\SA1413CodeFixProvider.cs" />
9999
<Compile Include="NamingRules\RenameToLowerCaseCodeFixProvider.cs" />
100100
<Compile Include="NamingRules\RenameToUpperCaseCodeFixProvider.cs" />
101101
<Compile Include="NamingRules\SA1302CodeFixProvider.cs" />

StyleCop.Analyzers/StyleCop.Analyzers.Test/MaintainabilityRules/SA1653UnitTests.cs renamed to StyleCop.Analyzers/StyleCop.Analyzers.Test/MaintainabilityRules/SA1413UnitTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ namespace StyleCop.Analyzers.Test.MaintainabilityRules
1414
using Xunit;
1515

1616
/// <summary>
17-
/// This class contains unit tests for SA1134.
17+
/// This class contains unit tests for <see cref="SA1413UseTrailingCommasInMultiLineInitializers"/>.
1818
/// </summary>
19-
public class SA1653UnitTests : CodeFixVerifier
19+
public class SA1413UnitTests : CodeFixVerifier
2020
{
2121
/// <summary>
2222
/// Verifies that code without an initializer will not fire the diagnostic.
@@ -429,13 +429,13 @@ void Foo()
429429
/// <inheritdoc/>
430430
protected override CodeFixProvider GetCSharpCodeFixProvider()
431431
{
432-
return new SA1653CodeFixProvider();
432+
return new SA1413CodeFixProvider();
433433
}
434434

435435
/// <inheritdoc/>
436436
protected override IEnumerable<DiagnosticAnalyzer> GetCSharpDiagnosticAnalyzers()
437437
{
438-
yield return new SA1653UseTrailingCommasInMultiLineInitializers();
438+
yield return new SA1413UseTrailingCommasInMultiLineInitializers();
439439
}
440440
}
441441
}

StyleCop.Analyzers/StyleCop.Analyzers.Test/StyleCop.Analyzers.Test.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@
250250
<Compile Include="MaintainabilityRules\SA1410UnitTests.cs" />
251251
<Compile Include="MaintainabilityRules\SA1411UnitTests.cs" />
252252
<Compile Include="MaintainabilityRules\SA1412UnitTests.cs" />
253-
<Compile Include="MaintainabilityRules\SA1653UnitTests.cs" />
253+
<Compile Include="MaintainabilityRules\SA1413UnitTests.cs" />
254254
<Compile Include="NamingRules\SA1300UnitTests.cs" />
255255
<Compile Include="NamingRules\SA1301UnitTests.cs" />
256256
<Compile Include="NamingRules\SA1302UnitTests.cs" />

StyleCop.Analyzers/StyleCop.Analyzers/MaintainabilityRules/MaintainabilityResources.Designer.cs

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

StyleCop.Analyzers/StyleCop.Analyzers/MaintainabilityRules/MaintainabilityResources.resx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -138,16 +138,16 @@
138138
<data name="SA1412CodeFix" xml:space="preserve">
139139
<value>Change encoding from '{0}' to UTF-8 with byte order mark</value>
140140
</data>
141-
<data name="SA1653CodeFix" xml:space="preserve">
141+
<data name="SA1413CodeFix" xml:space="preserve">
142142
<value>Add trailing comma</value>
143143
</data>
144-
<data name="SA1653Description" xml:space="preserve">
144+
<data name="SA1413Description" xml:space="preserve">
145145
<value>A multi-line initializer in a C# code file must use a comma on the last line.</value>
146146
</data>
147-
<data name="SA1653MessageFormat" xml:space="preserve">
147+
<data name="SA1413MessageFormat" xml:space="preserve">
148148
<value>Use trailing comma in multi-line initializers</value>
149149
</data>
150-
<data name="SA1653Title" xml:space="preserve">
150+
<data name="SA1413Title" xml:space="preserve">
151151
<value>Use trailing comma in multi-line initializers</value>
152152
</data>
153153
</root>

StyleCop.Analyzers/StyleCop.Analyzers/MaintainabilityRules/SA1653UseTrailingCommasInMultiLineInitializers.cs renamed to StyleCop.Analyzers/StyleCop.Analyzers/MaintainabilityRules/SA1413UseTrailingCommasInMultiLineInitializers.cs

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,43 @@ namespace StyleCop.Analyzers.MaintainabilityRules
1515
/// <summary>
1616
/// A multi-line initializer must use a comma on the last item.
1717
/// </summary>
18+
/// <remarks>
19+
/// <para>The last statement in a multi-line C# initializer is missing a trailing comma.</para>
20+
///
21+
/// <para>A violation of this rule occurs when the last statement of a C# initializer is missing a trailing comma.
22+
/// For example, the following code would generate one instance of this violation:</para>
23+
///
24+
/// <code language="csharp">
25+
/// var x = new Barnacle
26+
/// {
27+
/// Age = 100,
28+
/// Height = 0.2M,
29+
/// Weight = 0.88M
30+
/// };
31+
/// </code>
32+
///
33+
/// <para>The following code would not produce any violations:</para>
34+
///
35+
/// <code language="csharp">
36+
/// var x = new Barnacle
37+
/// {
38+
/// Age = 100,
39+
/// Height = 0.2M,
40+
/// Weight = 0.88M,
41+
/// };
42+
/// </code>
43+
/// </remarks>
1844
[DiagnosticAnalyzer(LanguageNames.CSharp)]
19-
internal class SA1653UseTrailingCommasInMultiLineInitializers : DiagnosticAnalyzer
45+
internal class SA1413UseTrailingCommasInMultiLineInitializers : DiagnosticAnalyzer
2046
{
2147
/// <summary>
22-
/// The ID for diagnostics produced by the <see cref="SA1653UseTrailingCommasInMultiLineInitializers"/> analyzer.
48+
/// The ID for diagnostics produced by the <see cref="SA1413UseTrailingCommasInMultiLineInitializers"/> analyzer.
2349
/// </summary>
24-
public const string DiagnosticId = "SA1653";
25-
private static readonly LocalizableString Title = new LocalizableResourceString(nameof(MaintainabilityResources.SA1653Title), MaintainabilityResources.ResourceManager, typeof(MaintainabilityResources));
26-
private static readonly LocalizableString MessageFormat = new LocalizableResourceString(nameof(MaintainabilityResources.SA1653MessageFormat), MaintainabilityResources.ResourceManager, typeof(MaintainabilityResources));
27-
private static readonly LocalizableString Description = new LocalizableResourceString(nameof(MaintainabilityResources.SA1653Description), MaintainabilityResources.ResourceManager, typeof(MaintainabilityResources));
28-
private static readonly string HelpLink = "https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1653.md";
50+
public const string DiagnosticId = "SA1413";
51+
private static readonly LocalizableString Title = new LocalizableResourceString(nameof(MaintainabilityResources.SA1413Title), MaintainabilityResources.ResourceManager, typeof(MaintainabilityResources));
52+
private static readonly LocalizableString MessageFormat = new LocalizableResourceString(nameof(MaintainabilityResources.SA1413MessageFormat), MaintainabilityResources.ResourceManager, typeof(MaintainabilityResources));
53+
private static readonly LocalizableString Description = new LocalizableResourceString(nameof(MaintainabilityResources.SA1413Description), MaintainabilityResources.ResourceManager, typeof(MaintainabilityResources));
54+
private static readonly string HelpLink = "https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1413.md";
2955

3056
private static readonly DiagnosticDescriptor Descriptor =
3157
new DiagnosticDescriptor(DiagnosticId, Title, MessageFormat, AnalyzerCategory.ReadabilityRules, DiagnosticSeverity.Warning, AnalyzerConstants.EnabledByDefault, Description, HelpLink);

StyleCop.Analyzers/StyleCop.Analyzers/StyleCop.Analyzers.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@
183183
<Compile Include="MaintainabilityRules\SA1410RemoveDelegateParenthesisWhenPossible.cs" />
184184
<Compile Include="MaintainabilityRules\SA1411AttributeConstructorMustNotUseUnnecessaryParenthesis.cs" />
185185
<Compile Include="MaintainabilityRules\SA1412StoreFilesAsUtf8.cs" />
186-
<Compile Include="MaintainabilityRules\SA1653UseTrailingCommasInMultiLineInitializers.cs" />
186+
<Compile Include="MaintainabilityRules\SA1413UseTrailingCommasInMultiLineInitializers.cs" />
187187
<Compile Include="MaintainabilityRules\SystemDiagnosticsDebugDiagnosticBase.cs" />
188188
<Compile Include="NamingRules\NamingResources.Designer.cs">
189189
<AutoGen>True</AutoGen>

StyleCopAnalyzers.sln

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
33
# Visual Studio 14
4-
VisualStudioVersion = 14.0.23107.0
4+
VisualStudioVersion = 14.0.24720.0
55
MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StyleCop.Analyzers", "StyleCop.Analyzers\StyleCop.Analyzers\StyleCop.Analyzers.csproj", "{3B052737-06CE-4182-AE0F-08EB82DFA73E}"
77
EndProject
@@ -145,6 +145,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "documentation", "documentat
145145
documentation\SA1410.md = documentation\SA1410.md
146146
documentation\SA1411.md = documentation\SA1411.md
147147
documentation\SA1412.md = documentation\SA1412.md
148+
documentation\SA1413.md = documentation\SA1413.md
148149
documentation\SA1500.md = documentation\SA1500.md
149150
documentation\SA1501.md = documentation\SA1501.md
150151
documentation\SA1502.md = documentation\SA1502.md
@@ -219,7 +220,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "documentation", "documentat
219220
documentation\SA1650.md = documentation\SA1650.md
220221
documentation\SA1651.md = documentation\SA1651.md
221222
documentation\SA1652.md = documentation\SA1652.md
222-
documentation\SA1653.md = documentation\SA1653.md
223223
documentation\SX1101.md = documentation\SX1101.md
224224
documentation\SX1309.md = documentation\SX1309.md
225225
documentation\SX1309S.md = documentation\SX1309S.md
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
# SA1653
1+
# SA1413
22

33
<table>
44
<tr>
55
<td>TypeName</td>
6-
<td>SA1653UseTrailingCommasInMultiLineInitializers</td>
6+
<td>SA1413UseTrailingCommasInMultiLineInitializers</td>
77
</tr>
88
<tr>
99
<td>CheckId</td>
10-
<td>SA1653</td>
10+
<td>SA1413</td>
1111
</tr>
1212
<tr>
1313
<td>Category</td>

0 commit comments

Comments
 (0)