diff --git a/StyleCop.Analyzers/StyleCop.Analyzers/DocumentationRules/PropertySummaryDocumentationAnalyzer.cs b/StyleCop.Analyzers/StyleCop.Analyzers/DocumentationRules/PropertySummaryDocumentationAnalyzer.cs
index 0580c4aad..19dffdd88 100644
--- a/StyleCop.Analyzers/StyleCop.Analyzers/DocumentationRules/PropertySummaryDocumentationAnalyzer.cs
+++ b/StyleCop.Analyzers/StyleCop.Analyzers/DocumentationRules/PropertySummaryDocumentationAnalyzer.cs
@@ -61,6 +61,12 @@ internal class PropertySummaryDocumentationAnalyzer : PropertyDocumentationBase
///
protected override void HandleXmlElement(SyntaxNodeAnalysisContext context, StyleCopSettings settings, bool needsComment, XmlNodeSyntax syntax, XElement completeDocumentation, Location diagnosticLocation)
{
+ if (!(syntax is XmlElementSyntax summaryElement))
+ {
+ // This is reported by SA1604 or SA1606.
+ return;
+ }
+
var propertyDeclaration = (PropertyDeclarationSyntax)context.Node;
var propertyType = context.SemanticModel.GetTypeInfo(propertyDeclaration.Type.StripRefFromType());
var culture = settings.DocumentationRules.DocumentationCultureInfo;
@@ -70,7 +76,7 @@ protected override void HandleXmlElement(SyntaxNodeAnalysisContext context, Styl
{
AnalyzeSummaryElement(
context,
- syntax,
+ summaryElement,
diagnosticLocation,
propertyDeclaration,
resourceManager.GetString(nameof(DocumentationResources.StartingTextGetsWhether), culture),
@@ -82,7 +88,7 @@ protected override void HandleXmlElement(SyntaxNodeAnalysisContext context, Styl
{
AnalyzeSummaryElement(
context,
- syntax,
+ summaryElement,
diagnosticLocation,
propertyDeclaration,
resourceManager.GetString(nameof(DocumentationResources.StartingTextGets), culture),
@@ -92,7 +98,7 @@ protected override void HandleXmlElement(SyntaxNodeAnalysisContext context, Styl
}
}
- private static void AnalyzeSummaryElement(SyntaxNodeAnalysisContext context, XmlNodeSyntax syntax, Location diagnosticLocation, PropertyDeclarationSyntax propertyDeclaration, string startingTextGets, string startingTextSets, string startingTextGetsOrSets, string startingTextReturns)
+ private static void AnalyzeSummaryElement(SyntaxNodeAnalysisContext context, XmlElementSyntax summaryElement, Location diagnosticLocation, PropertyDeclarationSyntax propertyDeclaration, string startingTextGets, string startingTextSets, string startingTextGetsOrSets, string startingTextReturns)
{
var diagnosticProperties = ImmutableDictionary.CreateBuilder();
ArrowExpressionClauseSyntax expressionBody = propertyDeclaration.ExpressionBody;
@@ -116,12 +122,6 @@ private static void AnalyzeSummaryElement(SyntaxNodeAnalysisContext context, Xml
}
}
- if (!(syntax is XmlElementSyntax summaryElement))
- {
- // This is reported by SA1604 or SA1606.
- return;
- }
-
// Add a no code fix tag when the summary element is empty.
// This will only impact SA1623, because SA1624 cannot trigger with an empty summary.
if (summaryElement.Content.Count == 0)