parseUnit(f) | |
skipErrorTokens(f) | |
listener: beginCompilationUnit(f) | |
syntheticPreviousToken(f) | |
parseTopLevelDeclarationImpl(, Instance of 'DirectiveContext') | |
parseMetadataStar() | |
listener: beginMetadataStar(f) | |
listener: endMetadataStar(0) | |
parseTopLevelMemberImpl() | |
listener: beginTopLevelMember(f) | |
isReservedKeyword(() | |
parseTopLevelMethod(, null, null, , Instance of 'NoType', null, f, false) | |
listener: beginTopLevelMethod(, null, null) | |
listener: handleNoType() | |
ensureIdentifierPotentiallyRecovered(, topLevelFunctionDeclaration, false) | |
listener: handleIdentifier(f, topLevelFunctionDeclaration) | |
parseMethodTypeVar(f) | |
listener: handleNoTypeVariables(() | |
parseGetterOrFormalParameters(f, f, false, MemberKind.TopLevelMethod) | |
parseFormalParameters(f, MemberKind.TopLevelMethod) | |
parseFormalParametersRest((, MemberKind.TopLevelMethod) | |
listener: beginFormalParameters((, MemberKind.TopLevelMethod) | |
parseFormalParameter((, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod) | |
parseMetadataStar(() | |
listener: beginMetadataStar(x) | |
listener: endMetadataStar(0) | |
listener: beginFormalParameter(x, MemberKind.TopLevelMethod, null, null, null) | |
listener: handleNoType(() | |
ensureIdentifier((, formalParameterDeclaration) | |
listener: handleIdentifier(x, formalParameterDeclaration) | |
listener: handleFormalParameterWithoutValue(,) | |
listener: endFormalParameter(null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod) | |
parseFormalParameter(,, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod) | |
parseMetadataStar(,) | |
listener: beginMetadataStar(y) | |
listener: endMetadataStar(0) | |
listener: beginFormalParameter(y, MemberKind.TopLevelMethod, null, null, null) | |
listener: handleNoType(,) | |
ensureIdentifier(,, formalParameterDeclaration) | |
listener: handleIdentifier(y, formalParameterDeclaration) | |
listener: handleFormalParameterWithoutValue()) | |
listener: endFormalParameter(null, null, null, y, null, null, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod) | |
listener: endFormalParameters(2, (, ), 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(() | |
looksLikeOuterPatternEquals(() | |
skipOuterPattern(() | |
skipObjectPatternRest(x) | |
parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression((, true, ConstantPatternContext.none) | |
parsePrimary((, expression, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral((, expression) | |
parseSend((, expression) | |
isNextIdentifier(() | |
ensureIdentifier((, expression) | |
listener: handleIdentifier(x, expression) | |
listener: handleNoTypeArguments()) | |
parseArgumentsOpt(x) | |
listener: handleNoArguments()) | |
listener: handleSend(x, )) | |
ensureCloseParen(x, () | |
listener: handleParenthesizedCondition((, null, null) | |
parseSwitchBlock()) | |
ensureBlock(), null, switch statement) | |
listener: beginSwitchBlock({) | |
notEofOrValue(}, case) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType') | |
listener: handleNoType(case) | |
listener: handleVariablePattern(null, _, false) | |
listener: beginSwitchCaseWhenClause(when) | |
parseExpression(when) | |
looksLikeOuterPatternEquals(when) | |
skipOuterPattern(when) | |
skipObjectPatternRest(y) | |
parsePrecedenceExpression(when, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(when, true, ConstantPatternContext.none) | |
parsePrimary(when, expression, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral(when, expression) | |
parseSend(when, expression) | |
isNextIdentifier(when) | |
ensureIdentifier(when, expression) | |
listener: handleIdentifier(y, expression) | |
listener: handleNoTypeArguments(+) | |
parseArgumentsOpt(y) | |
listener: handleNoArguments(+) | |
listener: handleSend(y, +) | |
listener: beginBinaryExpression(+) | |
parsePrecedenceExpression(+, 14, true, ConstantPatternContext.none) | |
parseUnaryExpression(+, true, ConstantPatternContext.none) | |
parsePrimary(+, expression, ConstantPatternContext.none) | |
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(+, ConstantPatternContext.none) | |
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) | |
parseExpressionFunctionBody(=>, true) | |
parseExpression(=>) | |
looksLikeOuterPatternEquals(=>) | |
skipOuterPattern(=>) | |
parsePrecedenceExpression(=>, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(=>, true, ConstantPatternContext.none) | |
parsePrimary(=>, expression, ConstantPatternContext.none) | |
parseLiteralInt(=>) | |
listener: handleLiteralInt(0) | |
listener: handleExpressionFunctionBody(=>, null) | |
inGenerator() | |
listener: endFunctionExpression((, :) | |
listener: endBinaryExpression(+) | |
listener: endSwitchCaseWhenClause(0) | |
ensureColon(0) | |
listener: endCaseExpression(case, when, :) | |
peekPastLabels(break) | |
parseStatementsInSwitchCase(:, break, case, 0, 1, null, null) | |
listener: beginSwitchCase(0, 1, case) | |
parseStatement(:) | |
parseStatementX(:) | |
parseBreakStatement(:) | |
isBreakAllowed() | |
ensureSemicolon(break) | |
listener: handleBreakStatement(false, break, ;) | |
peekPastLabels(}) | |
listener: endSwitchCase(0, 1, null, null, 1, case, }) | |
notEofOrValue(}, }) | |
listener: endSwitchBlock(1, {, }) | |
listener: endSwitchStatement(switch, }) | |
notEofOrValue(}, }) | |
listener: endBlockFunctionBody(1, {, }) | |
listener: endTopLevelMethod(f, null, }) | |
listener: endTopLevelDeclaration() | |
reportAllErrorTokens(f) | |
listener: endCompilationUnit(1, ) |