@@ -139,10 +139,22 @@ private async Task<Document> CreateChangedDocument(CodeFixContext context, Docum
139
139
private SyntaxNode MarkUnnecessaryParagraphs ( SyntaxNode originalNode , SyntaxNode rewrittenNode )
140
140
{
141
141
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
+ }
144
156
145
- return elementSyntax . WithAdditionalAnnotations ( UnnecessaryParagraphAnnotation ) ;
157
+ return rewrittenNode ;
146
158
}
147
159
148
160
private SyntaxNode RemoveUnnecessaryParagraphs ( XmlElementSyntax originalNode , XmlElementSyntax rewrittenNode )
@@ -203,7 +215,7 @@ private static bool HasLooseContent(SyntaxList<XmlNodeSyntax> content)
203
215
204
216
private static bool HasAttributes ( XmlElementSyntax syntax )
205
217
{
206
- return syntax . StartTag ? . Attributes . Count > 0 ;
218
+ return syntax ? . StartTag ? . Attributes . Count > 0 ;
207
219
}
208
220
209
221
private static bool IsParaElement ( XmlElementSyntax syntax )
0 commit comments