Skip to content

Commit 55284a7

Browse files
committed
Fix handling of empty text tokens in WithoutFirstAndLastNewlines
1 parent 6f6e869 commit 55284a7

File tree

1 file changed

+22
-8
lines changed

1 file changed

+22
-8
lines changed

OpenStackNetAnalyzers/OpenStackNetAnalyzers/DocumentationSyntaxExtensions.cs

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -172,14 +172,28 @@ public static SyntaxList<XmlNodeSyntax> WithoutFirstAndLastNewlines(this SyntaxL
172172
string trimmed = firstTokenText.TrimStart();
173173
if (trimmed != firstTokenText)
174174
{
175-
SyntaxToken newFirstToken = SyntaxFactory.Token(
176-
firstTextToken.LeadingTrivia,
177-
firstTextToken.CSharpKind(),
178-
trimmed,
179-
firstTextToken.ValueText.TrimStart(),
180-
firstTextToken.TrailingTrivia);
181-
182-
summaryContent = summaryContent.Replace(firstTextSyntax, firstTextSyntax.ReplaceToken(firstTextToken, newFirstToken));
175+
if (trimmed.Length == 0)
176+
{
177+
if (firstTextSyntax.TextTokens.Count == 1)
178+
{
179+
summaryContent = summaryContent.Remove(firstTextSyntax);
180+
}
181+
else
182+
{
183+
summaryContent = summaryContent.Replace(firstTextSyntax, firstTextSyntax.WithTextTokens(firstTextSyntax.TextTokens.RemoveAt(0)));
184+
}
185+
}
186+
else
187+
{
188+
SyntaxToken newFirstToken = SyntaxFactory.Token(
189+
firstTextToken.LeadingTrivia,
190+
firstTextToken.CSharpKind(),
191+
trimmed,
192+
firstTextToken.ValueText.TrimStart(),
193+
firstTextToken.TrailingTrivia);
194+
195+
summaryContent = summaryContent.Replace(firstTextSyntax, firstTextSyntax.ReplaceToken(firstTextToken, newFirstToken));
196+
}
183197
}
184198
}
185199
}

0 commit comments

Comments
 (0)