parseUnit(foo) | |
skipErrorTokens(foo) | |
listener: beginCompilationUnit(foo) | |
syntheticPreviousToken(foo) | |
parseTopLevelDeclarationImpl(, Instance of 'DirectiveContext') | |
parseMetadataStar() | |
listener: beginMetadataStar(foo) | |
listener: endMetadataStar(0) | |
parseTopLevelMemberImpl() | |
listener: beginTopLevelMember(foo) | |
isReservedKeyword(() | |
parseTopLevelMethod(, null, null, , Instance of 'NoType', null, foo, false) | |
listener: beginTopLevelMethod(, null, null) | |
listener: handleNoType() | |
ensureIdentifierPotentiallyRecovered(, topLevelFunctionDeclaration, false) | |
listener: handleIdentifier(foo, topLevelFunctionDeclaration) | |
parseMethodTypeVar(foo) | |
listener: handleNoTypeVariables(() | |
parseGetterOrFormalParameters(foo, foo, false, MemberKind.TopLevelMethod) | |
parseFormalParameters(foo, 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(a) | |
listener: handleType(dynamic, null) | |
ensureIdentifier(dynamic, formalParameterDeclaration) | |
listener: handleIdentifier(a, formalParameterDeclaration) | |
listener: handleFormalParameterWithoutValue()) | |
listener: endFormalParameter(null, null, null, a, null, null, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod) | |
listener: endFormalParameters(1, (, ), MemberKind.TopLevelMethod) | |
parseAsyncModifierOpt()) | |
listener: handleAsyncModifier(null, null) | |
inPlainSync() | |
parseFunctionBody(), false, false) | |
listener: beginBlockFunctionBody({) | |
notEofOrValue(}, final) | |
parseStatement({) | |
parseStatementX({) | |
parseExpressionStatementOrDeclarationAfterModifiers(final, {, null, final, null, null) | |
looksLikeLocalFunction(b) | |
listener: beginMetadataStar(final) | |
listener: endMetadataStar(0) | |
listener: handleNoType(final) | |
listener: beginVariablesDeclaration(b, null, final) | |
parseVariablesDeclarationRest(final, true) | |
parseOptionallyInitializedIdentifier(final) | |
ensureIdentifier(final, localVariableDeclaration) | |
listener: handleIdentifier(b, localVariableDeclaration) | |
listener: beginInitializedIdentifier(b) | |
parseVariableInitializerOpt(b) | |
listener: beginVariableInitializer(=) | |
parseExpression(=) | |
parsePrecedenceExpression(=, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(=, true, ConstantPatternContext.none) | |
parsePrimary(=, expression, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral(=, expression) | |
parseSend(=, expression) | |
isNextIdentifier(=) | |
ensureIdentifier(=, expression) | |
listener: handleIdentifier(a, expression) | |
listener: handleNoTypeArguments(;) | |
parseArgumentsOpt(a) | |
listener: handleNoArguments(;) | |
listener: handleSend(a, ;) | |
listener: endVariableInitializer(=) | |
listener: endInitializedIdentifier(b) | |
ensureSemicolon(a) | |
listener: endVariablesDeclaration(1, ;) | |
notEofOrValue(}, if) | |
parseStatement(;) | |
parseStatementX(;) | |
parseIfStatement(;) | |
listener: beginIfStatement(if) | |
ensureParenthesizedCondition(if, allowCase: false) | |
parseExpressionInParenthesisRest((, allowCase: false) | |
parseExpression(() | |
parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression((, true, ConstantPatternContext.none) | |
parsePrimary((, expression, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral((, expression) | |
parseSend((, expression) | |
isNextIdentifier(() | |
ensureIdentifier((, expression) | |
listener: handleIdentifier(a, expression) | |
listener: handleNoTypeArguments(is) | |
parseArgumentsOpt(a) | |
listener: handleNoArguments(is) | |
listener: handleSend(a, is) | |
parseIsOperatorRest(a) | |
listener: beginIsOperatorType(is) | |
computeTypeAfterIsOrAs(is) | |
parseRecordType((, is, false) | |
listener: beginRecordType(() | |
parseRecordTypeField((, identifierIsOptional: true) | |
listener: beginRecordTypeEntry() | |
parseMetadataStar(() | |
listener: beginMetadataStar(int) | |
listener: endMetadataStar(0) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments(,) | |
listener: handleType(int, null) | |
listener: handleNoName(,) | |
listener: endRecordTypeEntry() | |
parseRecordTypeField(,, identifierIsOptional: true) | |
listener: beginRecordTypeEntry() | |
parseMetadataStar(,) | |
listener: beginMetadataStar(int) | |
listener: endMetadataStar(0) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments()) | |
listener: handleType(int, null) | |
listener: handleNoName()) | |
listener: endRecordTypeEntry() | |
listener: endRecordType((, null, 2, false) | |
listener: endIsOperatorType(is) | |
listener: handleIsOperator(is, null) | |
skipChainedAsIsOperators()) | |
ensureCloseParen(), () | |
listener: handleParenthesizedCondition((, null, null) | |
listener: beginThenStatement({) | |
parseStatement()) | |
parseStatementX()) | |
parseBlock(), BlockKind(statement)) | |
ensureBlock(), null, null) | |
listener: beginBlock({, BlockKind(statement)) | |
notEofOrValue(}, print) | |
parseStatement({) | |
parseStatementX({) | |
parseExpressionStatementOrDeclarationAfterModifiers({, {, null, null, null, null) | |
looksLikeLocalFunction(print) | |
parseExpressionStatement({) | |
parseExpression({) | |
parsePrecedenceExpression({, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression({, true, ConstantPatternContext.none) | |
parsePrimary({, expression, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral({, expression) | |
looksLikeFunctionBody(;) | |
parseSend({, expression) | |
isNextIdentifier({) | |
ensureIdentifier({, expression) | |
listener: handleIdentifier(print, expression) | |
listener: handleNoTypeArguments(() | |
parseArgumentsOpt(print) | |
parseArguments(print) | |
parseArgumentsRest(() | |
listener: beginArguments(() | |
parseExpression(() | |
parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression((, true, ConstantPatternContext.none) | |
parsePrimary((, expression, ConstantPatternContext.none) | |
parseLiteralString(() | |
parseSingleLiteralString(() | |
listener: beginLiteralString("a is (int, int)") | |
listener: endLiteralString(0, )) | |
listener: endArguments(1, (, )) | |
listener: handleSend(print, ;) | |
ensureSemicolon()) | |
listener: handleExpressionStatement(;) | |
notEofOrValue(}, }) | |
listener: endBlock(1, {, }, BlockKind(statement)) | |
listener: endThenStatement(}) | |
listener: endIfStatement(if, null) | |
notEofOrValue(}, final) | |
parseStatement(}) | |
parseStatementX(}) | |
parseExpressionStatementOrDeclarationAfterModifiers(final, }, null, final, null, null) | |
looksLikeLocalFunction(c) | |
listener: beginMetadataStar(final) | |
listener: endMetadataStar(0) | |
listener: handleNoType(final) | |
listener: beginVariablesDeclaration(c, null, final) | |
parseVariablesDeclarationRest(final, true) | |
parseOptionallyInitializedIdentifier(final) | |
ensureIdentifier(final, localVariableDeclaration) | |
listener: handleIdentifier(c, localVariableDeclaration) | |
listener: beginInitializedIdentifier(c) | |
parseVariableInitializerOpt(c) | |
listener: beginVariableInitializer(=) | |
parseExpression(=) | |
parsePrecedenceExpression(=, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(=, true, ConstantPatternContext.none) | |
parsePrimary(=, expression, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral(=, expression) | |
looksLikeFunctionBody(;) | |
parseSend(=, expression) | |
isNextIdentifier(=) | |
ensureIdentifier(=, expression) | |
listener: handleIdentifier(b, expression) | |
listener: handleNoTypeArguments(as) | |
parseArgumentsOpt(b) | |
listener: handleNoArguments(as) | |
listener: handleSend(b, as) | |
parseAsOperatorRest(b) | |
listener: beginAsOperatorType(as) | |
computeTypeAfterIsOrAs(as) | |
parseRecordType((, as, false) | |
listener: beginRecordType(() | |
parseRecordTypeField((, identifierIsOptional: true) | |
listener: beginRecordTypeEntry() | |
parseMetadataStar(() | |
listener: beginMetadataStar(int) | |
listener: endMetadataStar(0) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments(,) | |
listener: handleType(int, null) | |
listener: handleNoName(,) | |
listener: endRecordTypeEntry() | |
parseRecordTypeField(,, identifierIsOptional: true) | |
listener: beginRecordTypeEntry() | |
parseMetadataStar(,) | |
listener: beginMetadataStar(int) | |
listener: endMetadataStar(0) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments()) | |
listener: handleType(int, null) | |
listener: handleNoName()) | |
listener: endRecordTypeEntry() | |
listener: endRecordType((, null, 2, false) | |
listener: endAsOperatorType(as) | |
listener: handleAsOperator(as) | |
skipChainedAsIsOperators()) | |
listener: endVariableInitializer(=) | |
listener: endInitializedIdentifier(c) | |
ensureSemicolon()) | |
listener: endVariablesDeclaration(1, ;) | |
notEofOrValue(}, }) | |
listener: endBlockFunctionBody(3, {, }) | |
listener: endTopLevelMethod(foo, null, }) | |
listener: endTopLevelDeclaration() | |
reportAllErrorTokens(foo) | |
listener: endCompilationUnit(1, ) |