@@ -78,7 +78,7 @@ protected override void HandleXmlElement(SyntaxNodeAnalysisContext context, bool
7878 {
7979 foreach ( var xmlElement in syntaxList . OfType < XmlElementSyntax > ( ) )
8080 {
81- HandleSectionOrBlockXmlElement ( context , xmlElement ) ;
81+ HandleSectionOrBlockXmlElement ( context , xmlElement , startingWithFinalParagraph : true ) ;
8282 }
8383 }
8484
@@ -101,7 +101,7 @@ protected override void HandleCompleteDocumentation(SyntaxNodeAnalysisContext co
101101 }
102102 }
103103
104- private static void HandleSectionOrBlockXmlElement ( SyntaxNodeAnalysisContext context , XmlElementSyntax xmlElement )
104+ private static void HandleSectionOrBlockXmlElement ( SyntaxNodeAnalysisContext context , XmlElementSyntax xmlElement , bool startingWithFinalParagraph )
105105 {
106106 if ( xmlElement . StartTag ? . Name ? . LocalName . ValueText == XmlCommentHelper . SeeAlsoXmlTag )
107107 {
@@ -121,6 +121,7 @@ private static void HandleSectionOrBlockXmlElement(SyntaxNodeAnalysisContext con
121121 if ( ! string . IsNullOrEmpty ( textWithoutTrailingWhitespace ) )
122122 {
123123 if ( ! textWithoutTrailingWhitespace . EndsWith ( "." , StringComparison . Ordinal )
124+ && ( startingWithFinalParagraph || ! textWithoutTrailingWhitespace . EndsWith ( ":" , StringComparison . Ordinal ) )
124125 && ! textWithoutTrailingWhitespace . EndsWith ( "-or-" , StringComparison . Ordinal ) )
125126 {
126127 var location = Location . Create ( xmlElement . SyntaxTree , new TextSpan ( textToken . SpanStart + textWithoutTrailingWhitespace . Length , 1 ) ) ;
@@ -145,7 +146,7 @@ private static void HandleSectionOrBlockXmlElement(SyntaxNodeAnalysisContext con
145146 case XmlCommentHelper . NoteXmlTag :
146147 case XmlCommentHelper . ParaXmlTag :
147148 // Recursively handle <note> and <para> elements
148- HandleSectionOrBlockXmlElement ( context , childXmlElement ) ;
149+ HandleSectionOrBlockXmlElement ( context , childXmlElement , startingWithFinalParagraph ) ;
149150 break ;
150151
151152 default :
@@ -155,6 +156,7 @@ private static void HandleSectionOrBlockXmlElement(SyntaxNodeAnalysisContext con
155156 if ( childXmlElement . IsBlockElement ( ) )
156157 {
157158 currentParagraphDone = false ;
159+ startingWithFinalParagraph = false ;
158160 }
159161 }
160162 else if ( xmlElement . Content [ i ] is XmlEmptyElementSyntax emptyElement )
@@ -163,6 +165,7 @@ private static void HandleSectionOrBlockXmlElement(SyntaxNodeAnalysisContext con
163165 if ( emptyElement . Name ? . LocalName . ValueText == XmlCommentHelper . ParaXmlTag )
164166 {
165167 currentParagraphDone = false ;
168+ startingWithFinalParagraph = false ;
166169 }
167170 }
168171 }
0 commit comments