Skip to content

Commit 61bac44

Browse files
committed
SA1132: do not handle invalid field declarations
1 parent b8d9f89 commit 61bac44

1 file changed

Lines changed: 15 additions & 2 deletions

File tree

StyleCop.Analyzers/StyleCop.Analyzers/ReadabilityRules/SA1132DoNotCombineFields.cs

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
namespace StyleCop.Analyzers.ReadabilityRules
55
{
66
using System.Collections.Immutable;
7+
using System.Linq;
78
using Microsoft.CodeAnalysis;
89
using Microsoft.CodeAnalysis.CSharp;
910
using Microsoft.CodeAnalysis.CSharp.Syntax;
@@ -45,10 +46,22 @@ private static void HandleCompilationStart(CompilationStartAnalysisContext conte
4546
private static void HandleDeclaration(SyntaxNodeAnalysisContext context)
4647
{
4748
var fieldDeclaration = (BaseFieldDeclarationSyntax)context.Node;
48-
if (fieldDeclaration.Declaration.Variables.Count > 1)
49+
var variables = fieldDeclaration.Declaration.Variables;
50+
51+
if (variables.Count < 2 || fieldDeclaration.SemicolonToken.IsMissing)
4952
{
50-
context.ReportDiagnostic(Diagnostic.Create(Descriptor, fieldDeclaration.GetLocation()));
53+
return;
5154
}
55+
56+
foreach (VariableDeclaratorSyntax variable in variables)
57+
{
58+
if (variable.IsMissing)
59+
{
60+
return;
61+
}
62+
}
63+
64+
context.ReportDiagnostic(Diagnostic.Create(Descriptor, fieldDeclaration.GetLocation()));
5265
}
5366
}
5467
}

0 commit comments

Comments
 (0)