@@ -595,12 +595,13 @@ protected static MarkupTextLiteralSyntax MergeAttributeValue(MarkupLiteralAttrib
595595 node . Prefix ? . LiteralTokens ,
596596 node . Value ? . LiteralTokens ) ;
597597
598- var rewritten = node . Prefix ? . Update ( valueTokens , node . Prefix . ChunkGenerator ) ?? node . Value ? . Update ( valueTokens , node . Value . ChunkGenerator ) ;
598+ var rewritten = node . Prefix ? . Update ( valueTokens ) ?? node . Value ? . Update ( valueTokens ) ;
599+
599600 rewritten = ( MarkupTextLiteralSyntax ) rewritten ? . Green . CreateRed ( node , node . Position ) ;
600601
601- if ( rewritten . GetEditHandler ( ) is { } originalEditHandler )
602+ if ( rewritten . EditHandler is { } originalEditHandler )
602603 {
603- rewritten = rewritten . Update ( rewritten . LiteralTokens , MarkupChunkGenerator . Instance ) . WithEditHandler ( originalEditHandler ) ;
604+ rewritten = rewritten . Update ( rewritten . LiteralTokens , MarkupChunkGenerator . Instance , originalEditHandler ) ;
604605 }
605606
606607 return rewritten ;
@@ -633,7 +634,8 @@ public override void VisitMarkupAttributeBlock(MarkupAttributeBlockSyntax node)
633634 new SyntaxTokenList ( node . EqualsToken ) ,
634635 node . ValuePrefix ? . LiteralTokens ) ;
635636
636- var prefix = ( MarkupTextLiteralSyntax ) SyntaxFactory . MarkupTextLiteral ( prefixTokens , chunkGenerator : null ) . Green . CreateRed ( node , node . NamePrefix ? . Position ?? node . Name . Position ) ;
637+ var position = node . NamePrefix ? . Position ?? node . Name . Position ;
638+ var prefix = ( MarkupTextLiteralSyntax ) SyntaxFactory . MarkupTextLiteral ( prefixTokens ) . Green . CreateRed ( node , position ) ;
637639
638640 var name = node . Name . GetContent ( ) ;
639641 if ( ! _options . AllowConditionalDataDashAttributes && name . StartsWith ( "data-" , StringComparison . OrdinalIgnoreCase ) )
@@ -658,14 +660,14 @@ public override void VisitMarkupAttributeBlock(MarkupAttributeBlockSyntax node)
658660 builder . AddRange ( mergedValue . LiteralTokens ) ;
659661 }
660662
661- var rewritten = SyntaxFactory . MarkupTextLiteral ( builder . ToList ( ) , chunkGenerator : null ) ;
663+ var rewritten = SyntaxFactory . MarkupTextLiteral ( builder . ToList ( ) ) ;
662664
663665 var mergedLiterals = MergeTokenLists (
664666 prefix ? . LiteralTokens ,
665667 rewritten . LiteralTokens ,
666668 node . ValueSuffix ? . LiteralTokens ) ;
667669
668- var mergedAttribute = SyntaxFactory . MarkupTextLiteral ( mergedLiterals , chunkGenerator : null ) . Green . CreateRed ( node . Parent , node . Position ) ;
670+ var mergedAttribute = SyntaxFactory . MarkupTextLiteral ( mergedLiterals ) . Green . CreateRed ( node . Parent , node . Position ) ;
669671 Visit ( mergedAttribute ) ;
670672
671673 return ;
@@ -704,7 +706,7 @@ public override void VisitMarkupMinimizedAttributeBlock(MarkupMinimizedAttribute
704706 node . NamePrefix ? . LiteralTokens ,
705707 node . Name ? . LiteralTokens ) ;
706708
707- var literal = SyntaxFactory . MarkupTextLiteral ( literals , chunkGenerator : null ) . Green . CreateRed ( node . Parent , node . Position ) ;
709+ var literal = SyntaxFactory . MarkupTextLiteral ( literals ) . Green . CreateRed ( node . Parent , node . Position ) ;
708710
709711 Visit ( literal ) ;
710712 }
@@ -889,7 +891,7 @@ public override void VisitCSharpExpressionLiteral(CSharpExpressionLiteralSyntax
889891 // If we are top level in a tag helper HTML attribute, we want to be rendered as markup.
890892 // This case happens for duplicate non-string bound attributes. They would be initially be categorized as
891893 // CSharp but since they are duplicate, they should just be markup.
892- var markupLiteral = SyntaxFactory . MarkupTextLiteral ( node . LiteralTokens , chunkGenerator : null ) . Green . CreateRed ( node . Parent , node . Position ) ;
894+ var markupLiteral = SyntaxFactory . MarkupTextLiteral ( node . LiteralTokens ) . Green . CreateRed ( node . Parent , node . Position ) ;
893895 Visit ( markupLiteral ) ;
894896 return ;
895897 }
@@ -1184,7 +1186,7 @@ private void VisitAttributeValue(SyntaxNode node)
11841186 builder . AddRange ( mergedValue . LiteralTokens ) ;
11851187 }
11861188
1187- var rewritten = SyntaxFactory . MarkupTextLiteral ( builder . ToList ( ) , chunkGenerator : null ) . Green . CreateRed ( node . Parent , position ) ;
1189+ var rewritten = SyntaxFactory . MarkupTextLiteral ( builder . ToList ( ) ) . Green . CreateRed ( node . Parent , position ) ;
11881190 Visit ( rewritten ) ;
11891191 }
11901192 else if ( children . TryCast < MarkupTextLiteralSyntax > ( out var markupLiteralArray ) )
@@ -1196,7 +1198,7 @@ private void VisitAttributeValue(SyntaxNode node)
11961198 builder . AddRange ( literal . LiteralTokens ) ;
11971199 }
11981200
1199- var rewritten = SyntaxFactory . MarkupTextLiteral ( builder . ToList ( ) , chunkGenerator : null ) . Green . CreateRed ( node . Parent , position ) ;
1201+ var rewritten = SyntaxFactory . MarkupTextLiteral ( builder . ToList ( ) ) . Green . CreateRed ( node . Parent , position ) ;
12001202 Visit ( rewritten ) ;
12011203 }
12021204 else if ( children . TryCast < CSharpExpressionLiteralSyntax > ( out var expressionLiteralArray ) )
@@ -1208,12 +1210,11 @@ private void VisitAttributeValue(SyntaxNode node)
12081210 foreach ( var literal in expressionLiteralArray )
12091211 {
12101212 generator = literal . ChunkGenerator ;
1211- editHandler = literal . GetEditHandler ( ) ;
1213+ editHandler = literal . EditHandler ;
12121214 builder . AddRange ( literal . LiteralTokens ) ;
12131215 }
12141216
1215- var rewritten = SyntaxFactory . CSharpExpressionLiteral ( builder . ToList ( ) , generator ) . Green . CreateRed ( node . Parent , position ) ;
1216- rewritten = editHandler != null ? rewritten . WithEditHandler ( editHandler ) : rewritten ;
1217+ var rewritten = SyntaxFactory . CSharpExpressionLiteral ( builder . ToList ( ) , generator , editHandler ) . Green . CreateRed ( node . Parent , position ) ;
12171218 Visit ( rewritten ) ;
12181219 }
12191220 else
@@ -1380,7 +1381,8 @@ public override void VisitMarkupAttributeBlock(MarkupAttributeBlockSyntax node)
13801381 new SyntaxTokenList ( node . EqualsToken ) ,
13811382 node . ValuePrefix ? . LiteralTokens ) ;
13821383
1383- var prefix = ( MarkupTextLiteralSyntax ) SyntaxFactory . MarkupTextLiteral ( prefixTokens , chunkGenerator : null ) . Green . CreateRed ( node , node . NamePrefix ? . Position ?? node . Name . Position ) ;
1384+ var position = node . NamePrefix ? . Position ?? node . Name . Position ;
1385+ var prefix = ( MarkupTextLiteralSyntax ) SyntaxFactory . MarkupTextLiteral ( prefixTokens ) . Green . CreateRed ( node , position ) ;
13841386
13851387 var name = node . Name . GetContent ( ) ;
13861388 _builder . Push ( new HtmlAttributeIntermediateNode ( )
@@ -1402,7 +1404,8 @@ public override void VisitMarkupMinimizedAttributeBlock(MarkupMinimizedAttribute
14021404 node . NamePrefix ? . LiteralTokens ,
14031405 node . Name . LiteralTokens ) ;
14041406
1405- var prefix = ( MarkupTextLiteralSyntax ) SyntaxFactory . MarkupTextLiteral ( prefixTokens , chunkGenerator : null ) . Green . CreateRed ( node , node . NamePrefix ? . Position ?? node . Name . Position ) ;
1407+ var position = node . NamePrefix ? . Position ?? node . Name . Position ;
1408+ var prefix = ( MarkupTextLiteralSyntax ) SyntaxFactory . MarkupTextLiteral ( prefixTokens ) . Green . CreateRed ( node , position ) ;
14061409
14071410 var name = node . Name . GetContent ( ) ;
14081411 _builder . Add ( new HtmlAttributeIntermediateNode ( )
@@ -1492,7 +1495,7 @@ public override void VisitMarkupTextLiteral(MarkupTextLiteralSyntax node)
14921495 return ;
14931496 }
14941497
1495- var context = node . GetEditHandler ( ) ;
1498+ var context = node . EditHandler ;
14961499 if ( node . ChunkGenerator == SpanChunkGenerator . Null )
14971500 {
14981501 return ;
@@ -1699,7 +1702,7 @@ public override void VisitCSharpExpressionLiteral(CSharpExpressionLiteralSyntax
16991702 // If we are top level in a tag helper HTML attribute, we want to be rendered as markup.
17001703 // This case happens for duplicate non-string bound attributes. They would be initially be categorized as
17011704 // CSharp but since they are duplicate, they should just be markup.
1702- var markupLiteral = SyntaxFactory . MarkupTextLiteral ( node . LiteralTokens , chunkGenerator : null ) . Green . CreateRed ( node . Parent , node . Position ) ;
1705+ var markupLiteral = SyntaxFactory . MarkupTextLiteral ( node . LiteralTokens ) . Green . CreateRed ( node . Parent , node . Position ) ;
17031706 Visit ( markupLiteral ) ;
17041707 return ;
17051708 }
@@ -2047,7 +2050,7 @@ private void VisitAttributeValue(SyntaxNode node)
20472050 valueTokens . AddRange ( mergedValue . LiteralTokens ) ;
20482051 }
20492052
2050- var rewritten = SyntaxFactory . MarkupTextLiteral ( valueTokens . ToList ( ) , chunkGenerator : null ) . Green . CreateRed ( node . Parent , position ) ;
2053+ var rewritten = SyntaxFactory . MarkupTextLiteral ( valueTokens . ToList ( ) ) . Green . CreateRed ( node . Parent , position ) ;
20512054 Visit ( rewritten ) ;
20522055 }
20532056 else if ( children . TryCast < MarkupTextLiteralSyntax > ( out var markupLiteralArray ) )
@@ -2059,7 +2062,7 @@ private void VisitAttributeValue(SyntaxNode node)
20592062 builder . AddRange ( literal . LiteralTokens ) ;
20602063 }
20612064
2062- var rewritten = SyntaxFactory . MarkupTextLiteral ( builder . ToList ( ) , chunkGenerator : null ) . Green . CreateRed ( node . Parent , position ) ;
2065+ var rewritten = SyntaxFactory . MarkupTextLiteral ( builder . ToList ( ) ) . Green . CreateRed ( node . Parent , position ) ;
20632066 Visit ( rewritten ) ;
20642067 }
20652068 else if ( children . TryCast < CSharpExpressionLiteralSyntax > ( out var expressionLiteralArray ) )
@@ -2071,16 +2074,11 @@ private void VisitAttributeValue(SyntaxNode node)
20712074 foreach ( var literal in expressionLiteralArray )
20722075 {
20732076 generator = literal . ChunkGenerator ;
2074- editHandler = literal . GetEditHandler ( ) ;
2077+ editHandler = literal . EditHandler ;
20752078 builder . AddRange ( literal . LiteralTokens ) ;
20762079 }
20772080
2078- var rewritten = SyntaxFactory . CSharpExpressionLiteral ( builder . ToList ( ) , generator ) . Green . CreateRed ( node . Parent , position ) ;
2079-
2080- if ( editHandler != null )
2081- {
2082- rewritten = rewritten . WithEditHandler ( editHandler ) ;
2083- }
2081+ var rewritten = SyntaxFactory . CSharpExpressionLiteral ( builder . ToList ( ) , generator , editHandler ) . Green . CreateRed ( node . Parent , position ) ;
20842082
20852083 Visit ( rewritten ) ;
20862084 }
0 commit comments