| 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(}, switch) | |
| parseStatement({) | |
| parseStatementX({) | |
| parseSwitchStatement({) | |
| listener: beginSwitchStatement(switch) | |
| ensureParenthesizedCondition(switch, allowCase: false) | |
| parseExpressionInParenthesisRest((, allowCase: false) | |
| parseExpression(() | |
| 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(a, expression) | |
| listener: handleNoTypeArguments()) | |
| parseArgumentsOpt(a) | |
| listener: handleNoArguments()) | |
| listener: handleSend(a, a) | |
| ensureCloseParen(a, () | |
| listener: handleParenthesizedCondition((, null, null) | |
| parseSwitchBlock()) | |
| ensureBlock(), BlockKind(switch statement)) | |
| listener: beginSwitchBlock({) | |
| notEofOrValue(}, case) | |
| peekPastLabels(case) | |
| listener: beginCaseExpression(case) | |
| parseExpression(case) | |
| parsePrecedenceExpression(case, 1, true, ConstantPatternContext.none) | |
| parseUnaryExpression(case, true, ConstantPatternContext.none) | |
| parsePrimary(case, expression, ConstantPatternContext.none) | |
| parseSendOrFunctionLiteral(case, expression, ConstantPatternContext.none) | |
| parseSend(case, expression, ConstantPatternContext.none) | |
| isNextIdentifier(case) | |
| ensureIdentifier(case, expression) | |
| listener: handleIdentifier(b, expression) | |
| listener: handleNoTypeArguments(?) | |
| parseArgumentsOpt(b) | |
| listener: handleNoArguments(?) | |
| listener: handleSend(b, b) | |
| canParseAsConditional(?) | |
| parseExpressionWithoutCascade(?) | |
| parsePrecedenceExpression(?, 1, false, ConstantPatternContext.none) | |
| parseUnaryExpression(?, false, ConstantPatternContext.none) | |
| parsePrimary(?, expression, ConstantPatternContext.none) | |
| parseLiteralListSuffix(?, null) | |
| parseExpression([) | |
| parsePrecedenceExpression([, 1, true, ConstantPatternContext.none) | |
| parseUnaryExpression([, true, ConstantPatternContext.none) | |
| parsePrimary([, expression, ConstantPatternContext.none) | |
| parseSendOrFunctionLiteral([, expression, ConstantPatternContext.none) | |
| parseSend([, expression, ConstantPatternContext.none) | |
| isNextIdentifier([) | |
| ensureIdentifier([, expression) | |
| parseArgumentsOpt(c) | |
| parseExpressionWithoutCascade(:) | |
| parsePrecedenceExpression(:, 1, false, ConstantPatternContext.none) | |
| parseUnaryExpression(:, false, ConstantPatternContext.none) | |
| parsePrimary(:, expression, ConstantPatternContext.none) | |
| parseSendOrFunctionLiteral(:, expression, ConstantPatternContext.none) | |
| parseSend(:, expression, ConstantPatternContext.none) | |
| isNextIdentifier(:) | |
| ensureIdentifier(:, expression) | |
| parseArgumentsOpt(d) | |
| parseConditionalExpressionRest(b) | |
| listener: beginConditionalExpression(?) | |
| parseExpressionWithoutCascade(?) | |
| parsePrecedenceExpression(?, 1, false, ConstantPatternContext.none) | |
| parseUnaryExpression(?, false, ConstantPatternContext.none) | |
| parsePrimary(?, expression, ConstantPatternContext.none) | |
| listener: handleNoTypeArguments([) | |
| parseLiteralListSuffix(?, null) | |
| parseExpression([) | |
| 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(c, expression) | |
| listener: handleNoTypeArguments(]) | |
| parseArgumentsOpt(c) | |
| listener: handleNoArguments(]) | |
| listener: handleSend(c, c) | |
| listener: handleLiteralList(1, [, null, ]) | |
| ensureColon(]) | |
| listener: handleConditionalExpressionColon() | |
| parseExpressionWithoutCascade(:) | |
| parsePrecedenceExpression(:, 1, false, ConstantPatternContext.none) | |
| parseUnaryExpression(:, false, ConstantPatternContext.none) | |
| parsePrimary(:, expression, ConstantPatternContext.none) | |
| parseSendOrFunctionLiteral(:, expression, ConstantPatternContext.none) | |
| parseSend(:, expression, ConstantPatternContext.none) | |
| isNextIdentifier(:) | |
| ensureIdentifier(:, expression) | |
| listener: handleIdentifier(d, expression) | |
| listener: handleNoTypeArguments(:) | |
| parseArgumentsOpt(d) | |
| listener: handleNoArguments(:) | |
| listener: handleSend(d, d) | |
| listener: endConditionalExpression(?, :, d) | |
| listener: handleSwitchCaseNoWhenClause(d) | |
| ensureColon(d) | |
| listener: endCaseExpression(case, null, :) | |
| peekPastLabels(e) | |
| parseStatementsInSwitchCase(:, e, case, 0, 1, null, null) | |
| listener: beginSwitchCase(0, 1, case) | |
| parseStatement(:) | |
| parseStatementX(:) | |
| parseExpressionStatementOrDeclarationAfterModifiers(:, :, null, null, null, null) | |
| looksLikeLocalFunction(e) | |
| parseExpressionStatement(:) | |
| parseExpression(:) | |
| 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(e, expression) | |
| listener: handleNoTypeArguments(;) | |
| parseArgumentsOpt(e) | |
| listener: handleNoArguments(;) | |
| listener: handleSend(e, e) | |
| ensureSemicolon(e) | |
| listener: handleExpressionStatement(e, ;) | |
| peekPastLabels(}) | |
| listener: endSwitchCase(0, 1, null, null, 1, case, ;) | |
| notEofOrValue(}, }) | |
| listener: endSwitchBlock(1, {, }) | |
| listener: endSwitchStatement(switch, }) | |
| notEofOrValue(}, }) | |
| listener: endBlockFunctionBody(1, {, }) | |
| listener: endTopLevelMethod(main, null, }) | |
| listener: endTopLevelDeclaration(}) | |
| reportAllErrorTokens(main) | |
| listener: endCompilationUnit(1, ) |