Files
sdk/pkg/front_end/parser_testcases/coverage/string4.dart.intertwined.expect
Jens Johansen 4ee8852d77 [CFE/parser] Update 'end' on endLiteralString; Set offset of StringConcatenation to the start; rename 'token' to 'operatorToken' on endBinaryPatterns
* The 'end' token on endLiteralString is now the last token of the
   string, not the next unrelated token.
 * Set the offset of StringConcatenation to the start of the string,
   not the start of the next unrelated token.
 * The 'end' token on endBinaryPatterns is renamed to 'operatorToken'.

Fixes https://github.com/dart-lang/sdk/issues/55690

Tested: Existing
Change-Id: Iae788464008594c21e759570a626971d89688033
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/498601
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2026-04-30 01:05:23 -07:00

116 lines
5.9 KiB
Plaintext

parseUnit(UnterminatedString(r"""))
skipErrorTokens(UnterminatedString(r"""))
listener: beginCompilationUnit(void)
syntheticPreviousToken(void)
parseTopLevelDeclarationImpl(UnmatchedToken({), DirectiveContext(DirectiveState.Unknown))
parseMetadataStar(UnmatchedToken({))
listener: beginMetadataStar(void)
listener: endMetadataStar(0)
parseTopLevelMemberImpl(UnmatchedToken({))
listener: beginTopLevelMember(void)
parseTopLevelMethod(UnmatchedToken({), null, null, UnmatchedToken({), VoidType(), null, foo, false)
listener: beginTopLevelMethod(UnmatchedToken({), null, null)
listener: handleVoidKeyword(void)
ensureIdentifierPotentiallyRecovered(void, topLevelFunctionDeclaration, false)
listener: handleIdentifier(foo, topLevelFunctionDeclaration)
parseMethodTypeVar(foo)
listener: handleNoTypeVariables(()
parseGetterOrFormalParameters(foo, foo, false, MemberKind.TopLevelMethod)
parseFormalParameters(foo, MemberKind.TopLevelMethod)
parseFormalParametersRest((, MemberKind.TopLevelMethod)
listener: beginFormalParameters((, MemberKind.TopLevelMethod)
listener: endFormalParameters(0, (, ), MemberKind.TopLevelMethod)
parseAsyncModifierOpt())
listener: handleAsyncModifier(null, null)
inPlainSync()
parseFunctionBody(), false, false)
listener: beginBlockFunctionBody({)
notEofOrType(CLOSE_CURLY_BRACKET, return)
parseStatement({)
parseStatementX({)
parseReturnStatement({)
listener: beginReturnStatement(return)
parseExpression(return)
looksLikeOuterPatternEquals(return)
skipOuterPattern(return)
parsePrecedenceExpression(return, 1, true, ConstantPatternContext.none)
parseUnaryExpression(return, true, ConstantPatternContext.none)
parsePrimary(return, expression, ConstantPatternContext.none)
parseLiteralString(return)
parseSingleLiteralString(return)
listener: beginLiteralString(r"""
æbler
æbler""")
listener: endLiteralString(0, r"""
æbler
æbler""")
ensureSemicolon(r"""
æbler
æbler""")
listener: endReturnStatement(true, return, ;)
inGenerator()
notEofOrType(CLOSE_CURLY_BRACKET, })
listener: endBlockFunctionBody(1, {, })
listener: endTopLevelMethod(void, null, })
listener: endTopLevelDeclaration(})
parseTopLevelDeclarationImpl(}, DirectiveContext(DirectiveState.Declarations))
parseMetadataStar(})
listener: beginMetadataStar(void)
listener: endMetadataStar(0)
parseTopLevelMemberImpl(})
listener: beginTopLevelMember(void)
parseTopLevelMethod(}, null, null, }, VoidType(), null, bar, false)
listener: beginTopLevelMethod(}, null, null)
listener: handleVoidKeyword(void)
ensureIdentifierPotentiallyRecovered(void, topLevelFunctionDeclaration, false)
listener: handleIdentifier(bar, topLevelFunctionDeclaration)
parseMethodTypeVar(bar)
listener: handleNoTypeVariables(()
parseGetterOrFormalParameters(bar, bar, false, MemberKind.TopLevelMethod)
parseFormalParameters(bar, MemberKind.TopLevelMethod)
parseFormalParametersRest((, MemberKind.TopLevelMethod)
listener: beginFormalParameters((, MemberKind.TopLevelMethod)
listener: endFormalParameters(0, (, ), MemberKind.TopLevelMethod)
parseAsyncModifierOpt())
listener: handleAsyncModifier(null, null)
inPlainSync()
parseFunctionBody(), false, false)
listener: beginBlockFunctionBody({)
notEofOrType(CLOSE_CURLY_BRACKET, return)
parseStatement({)
parseStatementX({)
parseReturnStatement({)
listener: beginReturnStatement(return)
parseExpression(return)
looksLikeOuterPatternEquals(return)
skipOuterPattern(return)
parsePrecedenceExpression(return, 1, true, ConstantPatternContext.none)
parseUnaryExpression(return, true, ConstantPatternContext.none)
parsePrimary(return, expression, ConstantPatternContext.none)
parseLiteralString(return)
parseSingleLiteralString(return)
listener: beginLiteralString(r"""
æbler""")
listener: endLiteralString(0, r"""
æbler""")
ensureSemicolon(r"""
æbler""")
reportRecoverableError(r"""
æbler""", Message[Template(ExpectedAfterButGot), Expected ';' after this., null, {expected: ;}])
listener: handleRecoverableError(Message[Template(ExpectedAfterButGot), Expected ';' after this., null, {expected: ;}], r"""
æbler""", r"""
æbler""")
rewriter()
listener: endReturnStatement(true, return, ;)
inGenerator()
notEofOrType(CLOSE_CURLY_BRACKET, })
listener: endBlockFunctionBody(1, {, })
listener: endTopLevelMethod(void, null, })
listener: endTopLevelDeclaration(})
reportAllErrorTokens(UnterminatedString(r"""))
listener: handleErrorToken(UnterminatedString(r"""))
listener: handleRecoverableError(Message[Template(UnterminatedString), String starting with r""" must end with """., null, {openQuote: r""", expectedCloseQuote: """}], UnterminatedString(r"""), UnterminatedString(r"""))
listener: handleErrorToken(UnmatchedToken({))
listener: handleRecoverableError(Message[Template(UnmatchedToken), Can't find '}' to match '{'., null, {expected: }, lexeme: {}], UnmatchedToken({), UnmatchedToken({))
listener: endCompilationUnit(2, )