diff --git a/pkg/_fe_analyzer_shared/lib/src/metadata/expressions.dart b/pkg/_fe_analyzer_shared/lib/src/metadata/expressions.dart index cc8f383f2e4..8cb137eb668 100644 --- a/pkg/_fe_analyzer_shared/lib/src/metadata/expressions.dart +++ b/pkg/_fe_analyzer_shared/lib/src/metadata/expressions.dart @@ -162,20 +162,20 @@ class StringLiteral extends Expression { } } -class StringJuxtaposition extends Expression { +class AdjacentStringLiterals extends Expression { final List expressions; - StringJuxtaposition(this.expressions); + AdjacentStringLiterals(this.expressions); @override - String toString() => 'StringJuxtaposition($expressions)'; + String toString() => 'AdjacentStringLiterals($expressions)'; @override Expression? resolve() { List? newExpressions = expressions.resolve((e) => e.resolve()); return newExpressions == null ? null - : new StringJuxtaposition(newExpressions); + : new AdjacentStringLiterals(newExpressions); } } diff --git a/pkg/_fe_analyzer_shared/lib/src/metadata/parser.dart b/pkg/_fe_analyzer_shared/lib/src/metadata/parser.dart index bd0ba3919ef..16fc4f83539 100644 --- a/pkg/_fe_analyzer_shared/lib/src/metadata/parser.dart +++ b/pkg/_fe_analyzer_shared/lib/src/metadata/parser.dart @@ -666,7 +666,7 @@ class AnnotationsListener extends StackListener { } @override - void handleStringJuxtaposition(Token startToken, int literalCount) { + void handleAdjacentStringLiterals(Token startToken, int literalCount) { assert( checkState(startToken, repeatedKind(_ValueKinds._Proto, literalCount))); List expressions = @@ -674,7 +674,7 @@ class AnnotationsListener extends StackListener { while (--literalCount >= 0) { expressions[literalCount] = _popExpression(); } - push(new ExpressionProto(new StringJuxtaposition(expressions))); + push(new ExpressionProto(new AdjacentStringLiterals(expressions))); } @override diff --git a/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart b/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart index 357780adb82..2872af0027f 100644 --- a/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart +++ b/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart @@ -1991,8 +1991,8 @@ class ForwardingListener implements Listener { } @override - void handleStringJuxtaposition(Token startToken, int literalCount) { - listener?.handleStringJuxtaposition(startToken, literalCount); + void handleAdjacentStringLiterals(Token startToken, int literalCount) { + listener?.handleAdjacentStringLiterals(startToken, literalCount); } @override diff --git a/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart b/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart index 76af8f08f0a..9f9291b49e2 100644 --- a/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart +++ b/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart @@ -1141,8 +1141,8 @@ class Listener implements UnescapeErrorListener { logEvent("LiteralString"); } - void handleStringJuxtaposition(Token startToken, int literalCount) { - logEvent("StringJuxtaposition"); + void handleAdjacentStringLiterals(Token startToken, int literalCount) { + logEvent("AdjacentStringLiterals"); } /// Called for class-like members (class, mixin, extension), but each member diff --git a/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart b/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart index ed860ef9cfc..d50814d649c 100644 --- a/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart +++ b/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart @@ -7564,7 +7564,7 @@ class Parser { count++; } if (count > 1) { - listener.handleStringJuxtaposition(startToken, count); + listener.handleAdjacentStringLiterals(startToken, count); } mayParseFunctionExpressions = old; return token; diff --git a/pkg/_fe_analyzer_shared/lib/src/testing/metadata_helper.dart b/pkg/_fe_analyzer_shared/lib/src/testing/metadata_helper.dart index 4f1bdbc3759..e83ea579dfa 100644 --- a/pkg/_fe_analyzer_shared/lib/src/testing/metadata_helper.dart +++ b/pkg/_fe_analyzer_shared/lib/src/testing/metadata_helper.dart @@ -144,8 +144,8 @@ class Writer { _write('StringLiteral('); _stringPartsToText(expression.parts); _write(')'); - case StringJuxtaposition(): - _write('StringJuxtaposition('); + case AdjacentStringLiterals(): + _write('AdjacentStringLiterals('); _incIndent(addNewLine: false); _expressionsToText(expression.expressions, delimiter: ''); _decIndent(); diff --git a/pkg/_fe_analyzer_shared/test/metadata/data/literal/main.dart b/pkg/_fe_analyzer_shared/test/metadata/data/literal/main.dart index 0c6c2675ff9..bb43b4b34ee 100644 --- a/pkg/_fe_analyzer_shared/test/metadata/data/literal/main.dart +++ b/pkg/_fe_analyzer_shared/test/metadata/data/literal/main.dart @@ -84,10 +84,10 @@ void literal9() {} /*member: literal10: unresolved=UnresolvedExpression(UnresolvedInvoke( UnresolvedIdentifier(Helper) - (StringJuxtaposition( + (AdjacentStringLiterals( StringLiteral('a') StringLiteral('b'))))) -resolved=StringJuxtaposition( +resolved=AdjacentStringLiterals( StringLiteral('a') StringLiteral('b'))*/ void literal10() {} @@ -96,11 +96,11 @@ void literal10() {} /*member: literal11: unresolved=UnresolvedExpression(UnresolvedInvoke( UnresolvedIdentifier(Helper) - (StringJuxtaposition( + (AdjacentStringLiterals( StringLiteral('a') StringLiteral('b') StringLiteral('c'))))) -resolved=StringJuxtaposition( +resolved=AdjacentStringLiterals( StringLiteral('a') StringLiteral('b') StringLiteral('c'))*/ diff --git a/pkg/_fe_analyzer_shared/test/metadata/data/unresolved/main.dart b/pkg/_fe_analyzer_shared/test/metadata/data/unresolved/main.dart index 5a5ce239131..32be66e6fb9 100644 --- a/pkg/_fe_analyzer_shared/test/metadata/data/unresolved/main.dart +++ b/pkg/_fe_analyzer_shared/test/metadata/data/unresolved/main.dart @@ -388,11 +388,11 @@ void literals2() {} /*member: literals3: unresolved=UnresolvedExpression(UnresolvedInvoke( UnresolvedIdentifier(Helper) - (StringJuxtaposition( + (AdjacentStringLiterals( StringLiteral('a') StringLiteral('b${UnresolvedExpression(UnresolvedIdentifier(constInt))}') StringLiteral('c'))))) -resolved=StringJuxtaposition( +resolved=AdjacentStringLiterals( StringLiteral('a') StringLiteral('b${UnresolvedExpression(UnresolvedIdentifier(constInt))}') StringLiteral('c'))*/ diff --git a/pkg/analyzer/lib/src/fasta/ast_builder.dart b/pkg/analyzer/lib/src/fasta/ast_builder.dart index e8ee89f4cb7..f157a2494c0 100644 --- a/pkg/analyzer/lib/src/fasta/ast_builder.dart +++ b/pkg/analyzer/lib/src/fasta/ast_builder.dart @@ -3709,6 +3709,14 @@ class AstBuilder extends StackListener { ); } + @override + void handleAdjacentStringLiterals(Token startToken, int literalCount) { + debugEvent("AdjacentStringLiterals"); + + var strings = popTypedList2(literalCount); + push(AdjacentStringsImpl(strings: strings)); + } + @override void handleAsOperator(Token asOperator) { assert(optional('as', asOperator)); @@ -5535,14 +5543,6 @@ class AstBuilder extends StackListener { ); } - @override - void handleStringJuxtaposition(Token startToken, int literalCount) { - debugEvent("StringJuxtaposition"); - - var strings = popTypedList2(literalCount); - push(AdjacentStringsImpl(strings: strings)); - } - @override void handleStringPart(Token literalString) { assert(identical(literalString.kind, STRING_TOKEN)); diff --git a/pkg/front_end/lib/src/kernel/body_builder.dart b/pkg/front_end/lib/src/kernel/body_builder.dart index cdac9803990..01e31a7adf6 100644 --- a/pkg/front_end/lib/src/kernel/body_builder.dart +++ b/pkg/front_end/lib/src/kernel/body_builder.dart @@ -3499,8 +3499,8 @@ class BodyBuilder extends StackListenerImpl } @override - void handleStringJuxtaposition(Token startToken, int literalCount) { - debugEvent("StringJuxtaposition"); + void handleAdjacentStringLiterals(Token startToken, int literalCount) { + debugEvent("AdjacentStringLiterals"); List parts = popListForValue(literalCount); List? expressions; // Flatten string juxtapositions of string interpolation. diff --git a/pkg/front_end/lib/src/kernel/macro/annotation_parser.dart b/pkg/front_end/lib/src/kernel/macro/annotation_parser.dart index 20ada4d98a7..75ecffcbc4e 100644 --- a/pkg/front_end/lib/src/kernel/macro/annotation_parser.dart +++ b/pkg/front_end/lib/src/kernel/macro/annotation_parser.dart @@ -471,7 +471,7 @@ class _MacroListener implements Listener { } @override - void handleStringJuxtaposition(Token startToken, int literalCount) { + void handleAdjacentStringLiterals(Token startToken, int literalCount) { if (unrecognized) { pushUnsupported(); } else { diff --git a/pkg/front_end/lib/src/source/diet_listener.dart b/pkg/front_end/lib/src/source/diet_listener.dart index 1682f5a2712..5a18f994130 100644 --- a/pkg/front_end/lib/src/source/diet_listener.dart +++ b/pkg/front_end/lib/src/source/diet_listener.dart @@ -515,8 +515,8 @@ class DietListener extends StackListenerImpl { @override // Coverage-ignore(suite): Not run. - void handleStringJuxtaposition(Token startToken, int literalCount) { - debugEvent("StringJuxtaposition"); + void handleAdjacentStringLiterals(Token startToken, int literalCount) { + debugEvent("AdjacentStringLiterals"); } @override diff --git a/pkg/front_end/lib/src/source/outline_builder.dart b/pkg/front_end/lib/src/source/outline_builder.dart index 6d6ef07a2c4..e6ce1454a16 100644 --- a/pkg/front_end/lib/src/source/outline_builder.dart +++ b/pkg/front_end/lib/src/source/outline_builder.dart @@ -900,8 +900,8 @@ class OutlineBuilder extends StackListenerImpl { @override // Coverage-ignore(suite): Not run. - void handleStringJuxtaposition(Token startToken, int literalCount) { - debugEvent("StringJuxtaposition"); + void handleAdjacentStringLiterals(Token startToken, int literalCount) { + debugEvent("AdjacentStringLiterals"); List list = new List.filled(literalCount, /* dummyValue = */ ''); int charOffset = -1; diff --git a/pkg/front_end/lib/src/util/parser_ast_helper.dart b/pkg/front_end/lib/src/util/parser_ast_helper.dart index d3381b704c2..71797aa6906 100644 --- a/pkg/front_end/lib/src/util/parser_ast_helper.dart +++ b/pkg/front_end/lib/src/util/parser_ast_helper.dart @@ -1490,8 +1490,8 @@ abstract class AbstractParserAstListener implements Listener { } @override - void handleStringJuxtaposition(Token startToken, int literalCount) { - StringJuxtapositionHandle data = new StringJuxtapositionHandle( + void handleAdjacentStringLiterals(Token startToken, int literalCount) { + AdjacentStringLiteralsHandle data = new AdjacentStringLiteralsHandle( ParserAstType.HANDLE, startToken: startToken, literalCount: literalCount); @@ -6356,13 +6356,13 @@ class LiteralStringEnd extends ParserAstNode { R accept(ParserAstVisitor v) => v.visitLiteralStringEnd(this); } -class StringJuxtapositionHandle extends ParserAstNode { +class AdjacentStringLiteralsHandle extends ParserAstNode { final Token startToken; final int literalCount; - StringJuxtapositionHandle(ParserAstType type, + AdjacentStringLiteralsHandle(ParserAstType type, {required this.startToken, required this.literalCount}) - : super("StringJuxtaposition", type); + : super("AdjacentStringLiterals", type); @override Map get deprecatedArguments => { @@ -6371,7 +6371,8 @@ class StringJuxtapositionHandle extends ParserAstNode { }; @override - R accept(ParserAstVisitor v) => v.visitStringJuxtapositionHandle(this); + R accept(ParserAstVisitor v) => + v.visitAdjacentStringLiteralsHandle(this); } class MemberBegin extends ParserAstNode { @@ -10254,7 +10255,7 @@ abstract class ParserAstVisitor { R visitLiteralStringBegin(LiteralStringBegin node); R visitInterpolationExpressionHandle(InterpolationExpressionHandle node); R visitLiteralStringEnd(LiteralStringEnd node); - R visitStringJuxtapositionHandle(StringJuxtapositionHandle node); + R visitAdjacentStringLiteralsHandle(AdjacentStringLiteralsHandle node); R visitMemberBegin(MemberBegin node); R visitInvalidMemberHandle(InvalidMemberHandle node); R visitMemberEnd(MemberEnd node); @@ -11101,7 +11102,7 @@ class RecursiveParserAstVisitor implements ParserAstVisitor { void visitLiteralStringEnd(LiteralStringEnd node) => node.visitChildren(this); @override - void visitStringJuxtapositionHandle(StringJuxtapositionHandle node) => + void visitAdjacentStringLiteralsHandle(AdjacentStringLiteralsHandle node) => node.visitChildren(this); @override diff --git a/pkg/front_end/parser_testcases/patterns/const_patterns.dart.expect b/pkg/front_end/parser_testcases/patterns/const_patterns.dart.expect index ddb84dcd2a3..da392319bcc 100644 --- a/pkg/front_end/parser_testcases/patterns/const_patterns.dart.expect +++ b/pkg/front_end/parser_testcases/patterns/const_patterns.dart.expect @@ -462,7 +462,7 @@ beginCompilationUnit(import) endLiteralString(0, 'bar') beginLiteralString('bar') endLiteralString(0, :) - handleStringJuxtaposition(case, 2) + handleAdjacentStringLiterals(case, 2) endConstantPattern(null) endPattern('bar') handleSwitchCaseNoWhenClause('bar') diff --git a/pkg/front_end/parser_testcases/patterns/const_patterns.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/const_patterns.dart.intertwined.expect index 714dd9d8be9..68b0578383a 100644 --- a/pkg/front_end/parser_testcases/patterns/const_patterns.dart.intertwined.expect +++ b/pkg/front_end/parser_testcases/patterns/const_patterns.dart.intertwined.expect @@ -542,7 +542,7 @@ parseUnit(import) parseSingleLiteralString('foo') listener: beginLiteralString('bar') listener: endLiteralString(0, :) - listener: handleStringJuxtaposition(case, 2) + listener: handleAdjacentStringLiterals(case, 2) listener: endConstantPattern(null) listener: endPattern('bar') listener: handleSwitchCaseNoWhenClause('bar') diff --git a/pkg/front_end/test/parser_test_listener.dart b/pkg/front_end/test/parser_test_listener.dart index 0c151e5356c..6c07759070c 100644 --- a/pkg/front_end/test/parser_test_listener.dart +++ b/pkg/front_end/test/parser_test_listener.dart @@ -1629,9 +1629,9 @@ class ParserTestListener implements Listener { } @override - void handleStringJuxtaposition(Token startToken, int literalCount) { + void handleAdjacentStringLiterals(Token startToken, int literalCount) { seen(startToken); - doPrint('handleStringJuxtaposition(' '$startToken, ' '$literalCount)'); + doPrint('handleAdjacentStringLiterals(' '$startToken, ' '$literalCount)'); } @override