4ee8852d77
* 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>
286 lines
16 KiB
Plaintext
286 lines
16 KiB
Plaintext
parseUnit(UnterminatedString("""))
|
|
skipErrorTokens(UnterminatedString("""))
|
|
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)
|
|
parseFormalParameter((, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod)
|
|
parseMetadataStar(()
|
|
listener: beginMetadataStar(dynamic)
|
|
listener: endMetadataStar(0)
|
|
listener: beginFormalParameter(dynamic, MemberKind.TopLevelMethod, null, null, null)
|
|
listener: handleIdentifier(dynamic, typeReference)
|
|
listener: handleNoTypeArguments(bar)
|
|
listener: handleType(dynamic, null)
|
|
ensureIdentifier(dynamic, formalParameterDeclaration)
|
|
listener: handleIdentifier(bar, formalParameterDeclaration)
|
|
listener: handleFormalParameterWithoutValue())
|
|
listener: endFormalParameter(null, null, null, null, bar, null, null, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod)
|
|
listener: endFormalParameters(1, (, ), 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("""æbler)
|
|
parseIdentifierExpression($)
|
|
parseSend($, expression, ConstantPatternContext.none)
|
|
ensureIdentifier($, expression)
|
|
listener: handleIdentifier(bar, expression)
|
|
listener: handleNoTypeArguments(""")
|
|
parseArgumentsOpt(bar)
|
|
listener: handleNoArguments(""")
|
|
listener: handleSend(bar, bar)
|
|
listener: handleInterpolationExpression($, null)
|
|
parseStringPart(bar)
|
|
listener: handleStringPart(""")
|
|
listener: endLiteralString(1, """)
|
|
ensureSemicolon(""")
|
|
reportRecoverableError(""", Message[Template(ExpectedAfterButGot), Expected ';' after this., null, {expected: ;}])
|
|
listener: handleRecoverableError(Message[Template(ExpectedAfterButGot), Expected ';' after this., null, {expected: ;}], """, """)
|
|
rewriter()
|
|
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("""æbler""")
|
|
listener: endLiteralString(0, """æbler""")
|
|
ensureSemicolon("""æbler""")
|
|
reportRecoverableError("""æbler""", Message[Template(ExpectedAfterButGot), Expected ';' after this., null, {expected: ;}])
|
|
listener: handleRecoverableError(Message[Template(ExpectedAfterButGot), Expected ';' after this., null, {expected: ;}], """æbler""", """æbler""")
|
|
rewriter()
|
|
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, baz, false)
|
|
listener: beginTopLevelMethod(}, null, null)
|
|
listener: handleVoidKeyword(void)
|
|
ensureIdentifierPotentiallyRecovered(void, topLevelFunctionDeclaration, false)
|
|
listener: handleIdentifier(baz, topLevelFunctionDeclaration)
|
|
parseMethodTypeVar(baz)
|
|
listener: handleNoTypeVariables(()
|
|
parseGetterOrFormalParameters(baz, baz, false, MemberKind.TopLevelMethod)
|
|
parseFormalParameters(baz, 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"""hello""")
|
|
listener: endLiteralString(0, r"""hello""")
|
|
ensureSemicolon(r"""hello""")
|
|
reportRecoverableError(r"""hello""", Message[Template(ExpectedAfterButGot), Expected ';' after this., null, {expected: ;}])
|
|
listener: handleRecoverableError(Message[Template(ExpectedAfterButGot), Expected ';' after this., null, {expected: ;}], r"""hello""", r"""hello""")
|
|
rewriter()
|
|
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, qux, false)
|
|
listener: beginTopLevelMethod(}, null, null)
|
|
listener: handleVoidKeyword(void)
|
|
ensureIdentifierPotentiallyRecovered(void, topLevelFunctionDeclaration, false)
|
|
listener: handleIdentifier(qux, topLevelFunctionDeclaration)
|
|
parseMethodTypeVar(qux)
|
|
listener: handleNoTypeVariables(()
|
|
parseGetterOrFormalParameters(qux, qux, false, MemberKind.TopLevelMethod)
|
|
parseFormalParameters(qux, 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("""
|
|
æbler
|
|
""")
|
|
listener: endLiteralString(0, """
|
|
æbler
|
|
""")
|
|
ensureSemicolon("""
|
|
æbler
|
|
""")
|
|
reportRecoverableError("""
|
|
æbler
|
|
""", Message[Template(ExpectedAfterButGot), Expected ';' after this., null, {expected: ;}])
|
|
listener: handleRecoverableError(Message[Template(ExpectedAfterButGot), Expected ';' after this., null, {expected: ;}], """
|
|
æbler
|
|
""", """
|
|
æbler
|
|
""")
|
|
rewriter()
|
|
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, quux, false)
|
|
listener: beginTopLevelMethod(}, null, null)
|
|
listener: handleVoidKeyword(void)
|
|
ensureIdentifierPotentiallyRecovered(void, topLevelFunctionDeclaration, false)
|
|
listener: handleIdentifier(quux, topLevelFunctionDeclaration)
|
|
parseMethodTypeVar(quux)
|
|
listener: handleNoTypeVariables(()
|
|
parseGetterOrFormalParameters(quux, quux, false, MemberKind.TopLevelMethod)
|
|
parseFormalParameters(quux, 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("""æbler\""")
|
|
listener: endLiteralString(0, """æbler\""")
|
|
ensureSemicolon("""æbler\""")
|
|
reportRecoverableError("""æbler\""", Message[Template(ExpectedAfterButGot), Expected ';' after this., null, {expected: ;}])
|
|
listener: handleRecoverableError(Message[Template(ExpectedAfterButGot), Expected ';' after this., null, {expected: ;}], """æbler\""", """æbler\""")
|
|
rewriter()
|
|
listener: endReturnStatement(true, return, ;)
|
|
inGenerator()
|
|
notEofOrType(CLOSE_CURLY_BRACKET, })
|
|
listener: endBlockFunctionBody(1, {, })
|
|
listener: endTopLevelMethod(void, null, })
|
|
listener: endTopLevelDeclaration(})
|
|
reportAllErrorTokens(UnterminatedString("""))
|
|
listener: handleErrorToken(UnterminatedString("""))
|
|
listener: handleRecoverableError(Message[Template(UnterminatedString), String starting with """ must end with """., null, {openQuote: """, expectedCloseQuote: """}], UnterminatedString("""), UnterminatedString("""))
|
|
listener: handleErrorToken(UnmatchedToken({))
|
|
listener: handleRecoverableError(Message[Template(UnmatchedToken), Can't find '}' to match '{'., null, {expected: }, lexeme: {}], UnmatchedToken({), UnmatchedToken({))
|
|
listener: endCompilationUnit(5, )
|