parseUnit(main) | |
skipErrorTokens(main) | |
listener: beginCompilationUnit(main) | |
syntheticPreviousToken(main) | |
parseTopLevelDeclarationImpl(, DirectiveContext(DirectiveState.Unknown)) | |
parseMetadataStar() | |
listener: beginMetadataStar(main) | |
listener: endMetadataStar(0) | |
parseTopLevelMemberImpl() | |
listener: beginTopLevelMember(main) | |
isReservedKeyword(() | |
parseTopLevelMethod(, null, null, , 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(}, final) | |
parseStatement({) | |
parseStatementX({) | |
parseExpressionStatementOrDeclarationAfterModifiers(final, {, null, final, null, null) | |
skipOuterPattern(final) | |
skipObjectPatternRest(record) | |
looksLikeLocalFunction(record) | |
listener: beginMetadataStar(final) | |
listener: endMetadataStar(0) | |
listener: handleNoType(final) | |
listener: beginVariablesDeclaration(record, null, final) | |
parseVariablesDeclarationRest(final, true) | |
parseOptionallyInitializedIdentifier(final) | |
ensureIdentifier(final, localVariableDeclaration) | |
listener: handleIdentifier(record, localVariableDeclaration) | |
listener: beginInitializedIdentifier(record) | |
parseVariableInitializerOpt(record) | |
listener: beginVariableInitializer(=) | |
parseExpression(=) | |
looksLikeOuterPatternEquals(=) | |
skipOuterPattern(=) | |
parsePrecedenceExpression(=, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(=, true, ConstantPatternContext.none) | |
parsePrimary(=, expression, ConstantPatternContext.none) | |
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(=, ConstantPatternContext.none) | |
parseParenthesizedExpressionOrRecordLiteral(=, null, ConstantPatternContext.none) | |
listener: beginParenthesizedExpressionOrRecordLiteral(() | |
parseExpression(() | |
looksLikeOuterPatternEquals(() | |
skipOuterPattern(() | |
parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression((, true, ConstantPatternContext.none) | |
parsePrimary((, expression, ConstantPatternContext.none) | |
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral((, ConstantPatternContext.none) | |
parseParenthesizedExpressionOrRecordLiteral((, null, ConstantPatternContext.none) | |
listener: beginParenthesizedExpressionOrRecordLiteral(() | |
ensureIdentifier((, namedRecordFieldReference) | |
listener: handleIdentifier(a, namedRecordFieldReference) | |
parseExpression(:) | |
looksLikeOuterPatternEquals(:) | |
skipOuterPattern(:) | |
parsePrecedenceExpression(:, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(:, true, ConstantPatternContext.none) | |
parsePrimary(:, expression, ConstantPatternContext.none) | |
parseLiteralInt(:) | |
listener: handleLiteralInt(1) | |
listener: handleNamedRecordField(:) | |
ensureIdentifier(,, namedRecordFieldReference) | |
listener: handleIdentifier(b, namedRecordFieldReference) | |
parseExpression(:) | |
looksLikeOuterPatternEquals(:) | |
skipOuterPattern(:) | |
parsePrecedenceExpression(:, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(:, true, ConstantPatternContext.none) | |
parsePrimary(:, expression, ConstantPatternContext.none) | |
parseLiteralInt(:) | |
listener: handleLiteralInt(2) | |
listener: handleNamedRecordField(:) | |
ensureCloseParen(2, () | |
listener: endRecordLiteral((, 2, null) | |
parseExpression(,) | |
looksLikeOuterPatternEquals(,) | |
skipOuterPattern(,) | |
parsePrecedenceExpression(,, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(,, true, ConstantPatternContext.none) | |
parsePrimary(,, expression, ConstantPatternContext.none) | |
parseLiteralInt(,) | |
listener: handleLiteralInt(3) | |
ensureCloseParen(3, () | |
listener: endRecordLiteral((, 2, null) | |
listener: endVariableInitializer(=) | |
listener: endInitializedIdentifier(record) | |
ensureSemicolon()) | |
listener: endVariablesDeclaration(1, ;) | |
notEofOrValue(}, final) | |
parseStatement(;) | |
parseStatementX(;) | |
parseExpressionStatementOrDeclarationAfterModifiers(final, ;, null, final, null, null) | |
skipOuterPattern(final) | |
listener: beginMetadataStar(final) | |
listener: endMetadataStar(0) | |
parsePatternVariableDeclarationStatement(final, ;, final) | |
parsePattern(final, PatternContext.declaration, precedence: 1) | |
listener: beginPattern(final) | |
parsePrimaryPattern(final, PatternContext.declaration) | |
parseParenthesizedPatternOrRecordPattern(final, PatternContext.declaration) | |
parsePattern((, PatternContext.declaration, precedence: 1) | |
listener: beginPattern(() | |
parsePrimaryPattern((, PatternContext.declaration) | |
parseParenthesizedPatternOrRecordPattern((, PatternContext.declaration) | |
ensureIdentifier((, namedRecordFieldReference) | |
listener: handleIdentifier(a, namedRecordFieldReference) | |
parsePattern(:, PatternContext.declaration, precedence: 1) | |
listener: beginPattern(:) | |
parsePrimaryPattern(:, PatternContext.declaration) | |
parseVariablePattern(:, PatternContext.declaration, typeInfo: NoType()) | |
listener: handleNoType(a) | |
listener: handleDeclaredVariablePattern(null, a, false) | |
listener: endPattern(a) | |
listener: handlePatternField(:) | |
listener: handleNoName(,) | |
parsePattern(:, PatternContext.declaration, precedence: 1) | |
listener: beginPattern(:) | |
parsePrimaryPattern(:, PatternContext.declaration) | |
parseVariablePattern(:, PatternContext.declaration, typeInfo: NoType()) | |
listener: handleNoType(b) | |
listener: handleDeclaredVariablePattern(null, b, false) | |
listener: endPattern(b) | |
listener: handlePatternField(:) | |
ensureCloseParen(b, () | |
listener: handleRecordPattern((, 2) | |
listener: endPattern()) | |
listener: handlePatternField(null) | |
parsePattern(,, PatternContext.declaration, precedence: 1) | |
listener: beginPattern(,) | |
parsePrimaryPattern(,, PatternContext.declaration) | |
parseVariablePattern(,, PatternContext.declaration, typeInfo: NoType()) | |
listener: handleNoType(c) | |
listener: handleDeclaredVariablePattern(null, c, false) | |
listener: endPattern(c) | |
listener: handlePatternField(null) | |
ensureCloseParen(c, () | |
listener: handleRecordPattern((, 2) | |
listener: endPattern()) | |
parseExpression(=) | |
looksLikeOuterPatternEquals(=) | |
skipOuterPattern(=) | |
skipObjectPatternRest(record) | |
parsePrecedenceExpression(=, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(=, true, ConstantPatternContext.none) | |
parsePrimary(=, expression, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral(=, expression, ConstantPatternContext.none) | |
parseSend(=, expression, ConstantPatternContext.none) | |
isNextIdentifier(=) | |
ensureIdentifier(=, expression) | |
listener: handleIdentifier(record, expression) | |
listener: handleNoTypeArguments(;) | |
parseArgumentsOpt(record) | |
listener: handleNoArguments(;) | |
listener: handleSend(record, ;) | |
ensureSemicolon(record) | |
listener: handlePatternVariableDeclarationStatement(final, =, ;) | |
notEofOrValue(}, print) | |
parseStatement(;) | |
parseStatementX(;) | |
parseExpressionStatementOrDeclarationAfterModifiers(;, ;, null, null, null, null) | |
looksLikeLocalFunction(print) | |
parseExpressionStatement(;) | |
parseExpression(;) | |
looksLikeOuterPatternEquals(;) | |
skipOuterPattern(;) | |
skipObjectPatternRest(print) | |
parsePrecedenceExpression(;, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(;, true, ConstantPatternContext.none) | |
parsePrimary(;, expression, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral(;, expression, ConstantPatternContext.none) | |
looksLikeFunctionBody(;) | |
parseSend(;, expression, ConstantPatternContext.none) | |
isNextIdentifier(;) | |
ensureIdentifier(;, expression) | |
listener: handleIdentifier(print, expression) | |
listener: handleNoTypeArguments(() | |
parseArgumentsOpt(print) | |
parseArguments(print) | |
parseArgumentsRest(() | |
listener: beginArguments(() | |
parseExpression(() | |
looksLikeOuterPatternEquals(() | |
skipOuterPattern(() | |
parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression((, true, ConstantPatternContext.none) | |
parsePrimary((, expression, ConstantPatternContext.none) | |
parseLiteralString(() | |
parseSingleLiteralString(() | |
listener: beginLiteralString("a = ) | |
parseIdentifierExpression($) | |
parseSend($, expression, ConstantPatternContext.none) | |
isNextIdentifier($) | |
ensureIdentifier($, expression) | |
listener: handleIdentifier(a, expression) | |
listener: handleNoTypeArguments(; b = ) | |
parseArgumentsOpt(a) | |
listener: handleNoArguments(; b = ) | |
listener: handleSend(a, ; b = ) | |
listener: handleInterpolationExpression($, null) | |
parseStringPart(a) | |
listener: handleStringPart(; b = ) | |
parseIdentifierExpression($) | |
parseSend($, expression, ConstantPatternContext.none) | |
isNextIdentifier($) | |
ensureIdentifier($, expression) | |
listener: handleIdentifier(b, expression) | |
listener: handleNoTypeArguments(, c = ) | |
parseArgumentsOpt(b) | |
listener: handleNoArguments(, c = ) | |
listener: handleSend(b, , c = ) | |
listener: handleInterpolationExpression($, null) | |
parseStringPart(b) | |
listener: handleStringPart(, c = ) | |
parseIdentifierExpression($) | |
parseSend($, expression, ConstantPatternContext.none) | |
isNextIdentifier($) | |
ensureIdentifier($, expression) | |
listener: handleIdentifier(c, expression) | |
listener: handleNoTypeArguments(") | |
parseArgumentsOpt(c) | |
listener: handleNoArguments(") | |
listener: handleSend(c, ") | |
listener: handleInterpolationExpression($, null) | |
parseStringPart(c) | |
listener: handleStringPart(") | |
listener: endLiteralString(3, )) | |
listener: endArguments(1, (, )) | |
listener: handleSend(print, ;) | |
ensureSemicolon()) | |
listener: handleExpressionStatement(print, ;) | |
notEofOrValue(}, }) | |
listener: endBlockFunctionBody(3, {, }) | |
listener: endTopLevelMethod(main, null, }) | |
listener: endTopLevelDeclaration(}) | |
reportAllErrorTokens(main) | |
listener: endCompilationUnit(1, ) |