Skip to content

Commit b3141d8

Browse files
committed
Workaround for issue #3160
1 parent 9c9bc1c commit b3141d8

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

StyleCop.Analyzers/StyleCop.Analyzers/OrderingRules/SA1201ElementsMustAppearInTheCorrectOrder.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,11 @@ private static void HandleMemberList(SyntaxNodeAnalysisContext context, Immutabl
296296

297297
if (index > nextIndex)
298298
{
299-
context.ReportDiagnostic(Diagnostic.Create(Descriptor, NamedTypeHelpers.GetNameOrIdentifierLocation(members[i + 1]), MemberNames[nextElementSyntaxKind], MemberNames[elementSyntaxKind]));
299+
// [Issue #3160] Added hardening here to make sure that this won't crash when working with invalid code.
300+
var nextElementMemberName = MemberNames.ContainsKey(nextElementSyntaxKind) ? MemberNames[nextElementSyntaxKind] : "<unknown>";
301+
var elementMemberName = MemberNames.ContainsKey(elementSyntaxKind) ? MemberNames[elementSyntaxKind] : "<unknown>";
302+
303+
context.ReportDiagnostic(Diagnostic.Create(Descriptor, NamedTypeHelpers.GetNameOrIdentifierLocation(members[i + 1]), nextElementMemberName, elementMemberName));
300304
}
301305
}
302306
}

0 commit comments

Comments
 (0)