| 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(}, try) | |
| parseStatement({) | |
| parseStatementX({) | |
| parseTryStatement({) | |
| listener: beginTryStatement(try) | |
| parseBlock(try, BlockKind(try statement)) | |
| ensureBlock(try, BlockKind(try statement)) | |
| listener: beginBlock({, BlockKind(try 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, ConstantPatternContext.none) | |
| looksLikeFunctionBody(;) | |
| parseSend({, expression, ConstantPatternContext.none) | |
| 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) | |
| parseLiteralInt(() | |
| listener: handleLiteralInt(0) | |
| listener: endArguments(1, (, )) | |
| listener: handleSend(print, )) | |
| ensureSemicolon()) | |
| listener: handleExpressionStatement(print, ;) | |
| notEofOrValue(}, }) | |
| listener: endBlock(1, {, }, BlockKind(try statement)) | |
| listener: beginCatchClause(on) | |
| listener: handleIdentifier(String, typeReference) | |
| listener: handleNoTypeArguments({) | |
| listener: handleType(String, null) | |
| listener: endCatchClause({) | |
| parseBlock(String, BlockKind(catch clause)) | |
| ensureBlock(String, BlockKind(catch clause)) | |
| listener: beginBlock({, BlockKind(catch clause)) | |
| notEofOrValue(}, }) | |
| listener: endBlock(0, {, }, BlockKind(catch clause)) | |
| listener: handleCatchBlock(on, null, null) | |
| listener: beginCatchClause(on) | |
| parseRecordType((, on, false) | |
| listener: beginRecordType(() | |
| parseRecordTypeField((, identifierIsOptional: true) | |
| listener: beginRecordTypeEntry() | |
| parseMetadataStar(() | |
| listener: beginMetadataStar([) | |
| listener: endMetadataStar(0) | |
| reportRecoverableErrorWithToken([, Template(ExpectedType)) | |
| listener: handleRecoverableError(Message[ExpectedType, Expected a type, but got '['., null, {lexeme: [}], [, [) | |
| rewriter() | |
| listener: handleIdentifier(, typeReference) | |
| listener: handleNoTypeArguments([) | |
| listener: handleType(, null) | |
| listener: handleNoName([) | |
| listener: endRecordTypeEntry() | |
| ensureCloseParen(, () | |
| reportRecoverableError([, Message[ExpectedButGot, Expected ')' before this., null, {string: )}]) | |
| listener: handleRecoverableError(Message[ExpectedButGot, Expected ')' before this., null, {string: )}], [, [) | |
| reportRecoverableError(), RecordTypeOnePositionalFieldNoTrailingComma) | |
| listener: handleRecoverableError(RecordTypeOnePositionalFieldNoTrailingComma, ), )) | |
| listener: endRecordType((, null, 1, false) | |
| listener: endCatchClause({) | |
| parseBlock(), BlockKind(catch clause)) | |
| ensureBlock(), BlockKind(catch clause)) | |
| listener: beginBlock({, BlockKind(catch clause)) | |
| notEofOrValue(}, }) | |
| listener: endBlock(0, {, }, BlockKind(catch clause)) | |
| listener: handleCatchBlock(on, null, null) | |
| listener: beginCatchClause(on) | |
| parseRecordType((, on, false) | |
| listener: beginRecordType(() | |
| listener: endRecordType((, null, 0, false) | |
| listener: endCatchClause(;) | |
| parseBlock(), BlockKind(catch clause)) | |
| ensureBlock(), BlockKind(catch clause)) | |
| reportRecoverableError(), ExpectedCatchClauseBody) | |
| listener: handleRecoverableError(ExpectedCatchClauseBody, ), )) | |
| insertBlock()) | |
| rewriter() | |
| rewriter() | |
| listener: beginBlock({, BlockKind(catch clause)) | |
| notEofOrValue(}, }) | |
| listener: endBlock(0, {, }, BlockKind(catch clause)) | |
| listener: handleCatchBlock(on, null, null) | |
| listener: endTryStatement(3, try, null, }) | |
| notEofOrValue(}, ;) | |
| parseStatement(}) | |
| parseStatementX(}) | |
| parseEmptyStatement(}) | |
| listener: handleEmptyStatement(;) | |
| notEofOrValue(}, }) | |
| listener: endBlockFunctionBody(2, {, }) | |
| listener: endTopLevelMethod(main, null, }) | |
| listener: endTopLevelDeclaration(}) | |
| reportAllErrorTokens(main) | |
| listener: endCompilationUnit(1, ) |