@@ -139,10 +139,22 @@ private async Task<Document> CreateChangedDocument(CodeFixContext context, Docum
139139 private SyntaxNode MarkUnnecessaryParagraphs ( SyntaxNode originalNode , SyntaxNode rewrittenNode )
140140 {
141141 XmlElementSyntax elementSyntax = rewrittenNode as XmlElementSyntax ;
142- if ( ! IsUnnecessaryParaElement ( elementSyntax ) )
143- return rewrittenNode ;
142+ if ( IsUnnecessaryParaElement ( elementSyntax ) )
143+ return elementSyntax . WithAdditionalAnnotations ( UnnecessaryParagraphAnnotation ) ;
144+
145+ if ( string . Equals ( "summary" , elementSyntax ? . StartTag ? . Name ? . ToString ( ) , StringComparison . Ordinal ) )
146+ {
147+ SyntaxList < XmlNodeSyntax > trimmedContent = elementSyntax . Content . WithoutFirstAndLastNewlines ( ) ;
148+ if ( trimmedContent . Count == 1
149+ && IsParaElement ( trimmedContent [ 0 ] as XmlElementSyntax )
150+ && ! HasAttributes ( trimmedContent [ 0 ] as XmlElementSyntax ) )
151+ {
152+ XmlNodeSyntax paraToRemove = elementSyntax . Content . GetFirstXmlElement ( "para" ) ;
153+ return elementSyntax . ReplaceNode ( paraToRemove , paraToRemove . WithAdditionalAnnotations ( UnnecessaryParagraphAnnotation ) ) ;
154+ }
155+ }
144156
145- return elementSyntax . WithAdditionalAnnotations ( UnnecessaryParagraphAnnotation ) ;
157+ return rewrittenNode ;
146158 }
147159
148160 private SyntaxNode RemoveUnnecessaryParagraphs ( XmlElementSyntax originalNode , XmlElementSyntax rewrittenNode )
@@ -203,7 +215,7 @@ private static bool HasLooseContent(SyntaxList<XmlNodeSyntax> content)
203215
204216 private static bool HasAttributes ( XmlElementSyntax syntax )
205217 {
206- return syntax . StartTag ? . Attributes . Count > 0 ;
218+ return syntax ? . StartTag ? . Attributes . Count > 0 ;
207219 }
208220
209221 private static bool IsParaElement ( XmlElementSyntax syntax )
0 commit comments