8a1dbb160f
This is the first stab at implementing the record expressions from https://github.com/dart-lang/language/blob/master/working/0546-patterns/records-feature-specification.md Change-Id: I2adb6cb3cd50d4ee45e144e86ec7011d046f6170 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/253783 Commit-Queue: Jens Johansen <jensj@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com> Reviewed-by: Michael Thomsen <mit@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
65 lines
3.4 KiB
Plaintext
65 lines
3.4 KiB
Plaintext
parseUnit(main)
|
|
skipErrorTokens(main)
|
|
listener: beginCompilationUnit(main)
|
|
syntheticPreviousToken(main)
|
|
parseTopLevelDeclarationImpl(, Instance of 'DirectiveContext')
|
|
parseMetadataStar()
|
|
listener: beginMetadataStar(main)
|
|
listener: endMetadataStar(0)
|
|
parseTopLevelMemberImpl()
|
|
listener: beginTopLevelMember(main)
|
|
isReservedKeyword(()
|
|
parseTopLevelMethod(, null, null, , Instance of 'NoType', null, main, false)
|
|
listener: beginTopLevelMethod(, null, null)
|
|
listener: handleNoType()
|
|
ensureIdentifierPotentiallyRecovered(, topLevelFunctionDeclaration, false)
|
|
listener: handleIdentifier(main, topLevelFunctionDeclaration)
|
|
parseMethodTypeVar(main)
|
|
listener: handleNoTypeVariables(()
|
|
parseGetterOrFormalParameters(main, main, false, MemberKind.TopLevelMethod)
|
|
parseFormalParameters(main, 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({)
|
|
notEofOrValue(}, ()
|
|
parseStatement({)
|
|
parseStatementX({)
|
|
parseExpressionStatementOrDeclaration({, false)
|
|
parseExpressionStatementOrDeclarationAfterModifiers({, {, null, null, null, false)
|
|
looksLikeLocalFunction(()
|
|
parseExpressionStatement({)
|
|
parseExpression({)
|
|
parsePrecedenceExpression({, 1, true)
|
|
parseUnaryExpression({, true)
|
|
parsePrimary({, expression)
|
|
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral({)
|
|
listener: handleNoTypeVariables(()
|
|
parseFunctionExpression({)
|
|
listener: beginFunctionExpression(()
|
|
parseFormalParametersRequiredOpt({, MemberKind.Local)
|
|
parseFormalParametersRest((, MemberKind.Local)
|
|
listener: beginFormalParameters((, MemberKind.Local)
|
|
listener: endFormalParameters(0, (, ), MemberKind.Local)
|
|
parseAsyncOptBody(), true, false)
|
|
parseAsyncModifierOpt())
|
|
listener: handleAsyncModifier(null, null)
|
|
inPlainSync()
|
|
parseFunctionBody(), true, false)
|
|
listener: beginBlockFunctionBody({)
|
|
notEofOrValue(}, })
|
|
listener: endBlockFunctionBody(0, {, })
|
|
listener: endFunctionExpression((, ;)
|
|
ensureSemicolon(})
|
|
listener: handleExpressionStatement(;)
|
|
notEofOrValue(}, })
|
|
listener: endBlockFunctionBody(1, {, })
|
|
listener: endTopLevelMethod(main, null, })
|
|
listener: endTopLevelDeclaration()
|
|
reportAllErrorTokens(main)
|
|
listener: endCompilationUnit(1, )
|