@@ -62,15 +62,18 @@ private static async Task<Document> GetTransformedDocumentAsync(Document documen
6262 var textElement = ( XmlTextSyntax ) summaryElement . Content . FirstOrDefault ( ) ;
6363 if ( textElement == null )
6464 {
65- return document ;
65+ var newTextToken = SyntaxFactory . XmlTextLiteral ( SyntaxTriviaList . Empty , "the value" , "the value" , SyntaxTriviaList . Empty ) ;
66+ textElement = SyntaxFactory . XmlText ( SyntaxTokenList . Create ( newTextToken ) ) ;
67+ var updatedReturns = summaryElement . WithContent ( XmlSyntaxFactory . List ( textElement ) ) ;
68+ syntaxRoot = syntaxRoot . ReplaceNode ( summaryElement , updatedReturns ) ;
6669 }
6770
6871 var textToken = textElement . TextTokens . First ( token => token . IsKind ( SyntaxKind . XmlTextLiteralToken ) ) ;
6972 var text = textToken . ValueText ;
7073
7174 // preserve leading whitespace
7275 int index = 0 ;
73- while ( char . IsWhiteSpace ( text , index ) )
76+ while ( text . Length > index && char . IsWhiteSpace ( text , index ) )
7477 {
7578 index ++ ;
7679 }
@@ -89,14 +92,18 @@ private static async Task<Document> GetTransformedDocumentAsync(Document documen
8992 modifiedText = text . Substring ( index ) ;
9093 }
9194
92- modifiedText = char . ToLowerInvariant ( modifiedText [ 0 ] ) + modifiedText . Substring ( 1 ) ;
95+ if ( modifiedText . Length > 0 )
96+ {
97+ modifiedText = char . ToLowerInvariant ( modifiedText [ 0 ] ) + modifiedText . Substring ( 1 ) ;
98+ }
9399
94100 // create the new text string
95101 var textToAdd = diagnostic . Properties [ PropertySummaryDocumentationAnalyzer . ExpectedTextKey ] ;
96102 var newText = $ "{ preservedWhitespace } { textToAdd } { modifiedText } ";
97103
98104 // replace the token
99- var newTextTokens = textElement . TextTokens . Replace ( textToken , SyntaxFactory . XmlTextLiteral ( textToken . LeadingTrivia , newText , newText , textToken . TrailingTrivia ) ) ;
105+ var newXmlTextLiteral = SyntaxFactory . XmlTextLiteral ( textToken . LeadingTrivia , newText , newText , textToken . TrailingTrivia ) ;
106+ var newTextTokens = textElement . TextTokens . Replace ( textToken , newXmlTextLiteral ) ;
100107 var newTextElement = textElement . WithTextTokens ( newTextTokens ) ;
101108
102109 var newSyntaxRoot = syntaxRoot . ReplaceNode ( textElement , newTextElement ) ;
0 commit comments