parseUnit(test) | |
skipErrorTokens(test) | |
listener: beginCompilationUnit(test) | |
syntheticPreviousToken(test) | |
parseTopLevelDeclarationImpl(, Instance of 'DirectiveContext') | |
parseMetadataStar() | |
listener: beginMetadataStar(test) | |
listener: endMetadataStar(0) | |
parseTopLevelMemberImpl() | |
listener: beginTopLevelMember(test) | |
isReservedKeyword(() | |
parseTopLevelMethod(, null, null, , Instance of 'NoType', null, test, false) | |
listener: beginTopLevelMethod(, null, null) | |
listener: handleNoType() | |
ensureIdentifierPotentiallyRecovered(, topLevelFunctionDeclaration, false) | |
listener: handleIdentifier(test, topLevelFunctionDeclaration) | |
parseMethodTypeVar(test) | |
listener: handleNoTypeVariables(() | |
parseGetterOrFormalParameters(test, test, false, MemberKind.TopLevelMethod) | |
parseFormalParameters(test, MemberKind.TopLevelMethod) | |
parseFormalParametersRest((, MemberKind.TopLevelMethod) | |
listener: beginFormalParameters((, MemberKind.TopLevelMethod) | |
parseFormalParameter((, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod) | |
parseMetadataStar(() | |
listener: beginMetadataStar(dynamic) | |
listener: endMetadataStar(0) | |
listener: beginFormalParameter(dynamic, MemberKind.TopLevelMethod, null, null, null) | |
listener: handleIdentifier(dynamic, typeReference) | |
listener: handleNoTypeArguments(x) | |
listener: handleType(dynamic, null) | |
ensureIdentifier(dynamic, 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) | |
listener: beginBlockFunctionBody({) | |
notEofOrValue(}, const) | |
parseStatement({) | |
parseStatementX({) | |
parseExpressionStatementOrConstDeclaration({) | |
parseExpressionStatementOrDeclarationAfterModifiers(const, {, null, const, Instance of 'NoType', null) | |
looksLikeLocalFunction(y) | |
listener: beginMetadataStar(const) | |
listener: endMetadataStar(0) | |
listener: handleNoType(const) | |
listener: beginVariablesDeclaration(y, null, const) | |
parseVariablesDeclarationRest(const, true) | |
parseOptionallyInitializedIdentifier(const) | |
ensureIdentifier(const, localVariableDeclaration) | |
listener: handleIdentifier(y, localVariableDeclaration) | |
listener: beginInitializedIdentifier(y) | |
parseVariableInitializerOpt(y) | |
listener: beginVariableInitializer(=) | |
parseExpression(=) | |
looksLikeOuterPatternEquals(=) | |
skipOuterPattern(=) | |
parsePrecedenceExpression(=, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(=, true, ConstantPatternContext.none) | |
parsePrimary(=, expression, ConstantPatternContext.none) | |
parseLiteralInt(=) | |
listener: handleLiteralInt(1) | |
listener: endVariableInitializer(=) | |
listener: endInitializedIdentifier(y) | |
ensureSemicolon(1) | |
listener: endVariablesDeclaration(1, ;) | |
notEofOrValue(}, if) | |
parseStatement(;) | |
parseStatementX(;) | |
parseIfStatement(;) | |
listener: beginIfStatement(if) | |
ensureParenthesizedCondition(if, allowCase: true) | |
parseExpressionInParenthesisRest((, allowCase: true) | |
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(case) | |
parseArgumentsOpt(x) | |
listener: handleNoArguments(case) | |
listener: handleSend(x, case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
parseSendOrFunctionLiteral(case, expression) | |
parseSend(case, expression) | |
isNextIdentifier(case) | |
ensureIdentifier(case, expression) | |
listener: handleIdentifier(y, expression) | |
listener: handleNoTypeArguments()) | |
parseArgumentsOpt(y) | |
listener: handleNoArguments()) | |
listener: handleSend(y, )) | |
listener: endConstantPattern(null) | |
ensureCloseParen(y, () | |
listener: handleParenthesizedCondition((, case, null) | |
listener: beginThenStatement({) | |
parseStatement()) | |
parseStatementX()) | |
parseBlock(), BlockKind(statement)) | |
ensureBlock(), null, null) | |
listener: beginBlock({, BlockKind(statement)) | |
notEofOrValue(}, }) | |
listener: endBlock(0, {, }, BlockKind(statement)) | |
listener: endThenStatement(}) | |
listener: endIfStatement(if, null) | |
notEofOrValue(}, }) | |
listener: endBlockFunctionBody(2, {, }) | |
listener: endTopLevelMethod(test, null, }) | |
listener: endTopLevelDeclaration() | |
reportAllErrorTokens(test) | |
listener: endCompilationUnit(1, ) |