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) listener: endFormalParameters(1, (, ), MemberKind.TopLevelMethod) parseAsyncModifierOpt()) listener: handleAsyncModifier(null, null) inPlainSync() parseFunctionBody(), false, false) parseExpressionFunctionBody(=>, false) parseExpression(=>) looksLikeOuterPatternEquals(=>) skipOuterPattern(=>) parsePrecedenceExpression(=>, 1, true) parseUnaryExpression(=>, true) parsePrimary(=>, expression) inPlainSync() parseSwitchExpression(=>) listener: beginSwitchExpression(switch) ensureParenthesizedCondition(switch, allowCase: false) parseExpressionInParenthesisRest((, allowCase: false) parseExpression(() looksLikeOuterPatternEquals(() skipOuterPattern(() skipObjectPatternRest(x) parsePrecedenceExpression((, 1, true) parseUnaryExpression((, true) parsePrimary((, expression) 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) ensureBlock(), null, switch expression) listener: beginSwitchExpressionBlock({) listener: beginSwitchExpressionCase() parsePattern({, PatternContext.matching, precedence: 1) parsePrimaryPattern({, PatternContext.matching) listener: handleNoTypeArguments({) parseMapPatternSuffix({, PatternContext.matching) parseExpression({) looksLikeOuterPatternEquals({) skipOuterPattern({) parsePrecedenceExpression({, 1, true) parseUnaryExpression({, true) parsePrimary({, expression) parseLiteralString({) parseSingleLiteralString({) listener: beginLiteralString('x') listener: endLiteralString(0, :) parsePattern(:, PatternContext.matching, precedence: 1) parsePrimaryPattern(:, PatternContext.matching) parsePrecedenceExpression(==, 12, false) parseUnaryExpression(==, false) 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) parseExpressionFunctionBody(=>, true) parseExpression(=>) looksLikeOuterPatternEquals(=>) skipOuterPattern(=>) parsePrecedenceExpression(=>, 1, true) parseUnaryExpression(=>, true) parsePrimary(=>, expression) parseLiteralInt(=>) listener: handleLiteralInt(0) listener: handleExpressionFunctionBody(=>, null) inGenerator() listener: endFunctionExpression((, }) listener: handleRelationalPattern(==) listener: handleMapPatternEntry(:, }) listener: handleMapPattern(1, {, }) listener: handleSwitchExpressionCasePattern(}) ensureFunctionArrow(}) parseExpression(=>) looksLikeOuterPatternEquals(=>) skipOuterPattern(=>) parsePrecedenceExpression(=>, 1, true) parseUnaryExpression(=>, true) parsePrimary(=>, expression) parseLiteralInt(=>) listener: handleLiteralInt(0) listener: endSwitchExpressionCase(null, =>, 0) listener: endSwitchExpressionBlock(1, {, }) listener: endSwitchExpression(switch, }) ensureSemicolon(}) listener: handleExpressionFunctionBody(=>, ;) inGenerator() listener: endTopLevelMethod(f, null, ;) listener: endTopLevelDeclaration() reportAllErrorTokens(f) listener: endCompilationUnit(1, )