parseUnit(main) | |
skipErrorTokens(main) | |
listener: beginCompilationUnit(main) | |
syntheticPreviousToken(main) | |
parseTopLevelDeclarationImpl(, Instance of 'DirectiveContext') | |
parseMetadataStar() | |
listener: beginMetadataStar(main) | |
listener: endMetadataStar(0) | |
parseTopLevelMemberImpl() | |
listener: beginTopLevelMember(main) | |
isReservedKeyword(() | |
parseTopLevelMethod(, null, null, , Instance of '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(}, for) | |
parseStatement({) | |
parseStatementX({) | |
parseForStatement({, null) | |
listener: beginForStatement(for) | |
parseForLoopPartsStart(null, for, ForPartsContext(null)) | |
parseExpressionStatementOrDeclaration((, ForPartsContext(null)) | |
parseExpressionStatementOrDeclarationAfterModifiers((, (, null, null, null, ForPartsContext(null)) | |
listener: beginMetadataStar(() | |
listener: endMetadataStar(0) | |
parseRecordType((, (, 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: beginVariablesDeclaration(x, null, null) | |
parseForLoopPartsMid(), null, for) | |
parseVariablesDeclarationRest(), false) | |
parseOptionallyInitializedIdentifier()) | |
ensureIdentifier(), localVariableDeclaration) | |
listener: handleIdentifier(x, localVariableDeclaration) | |
listener: beginInitializedIdentifier(x) | |
parseVariableInitializerOpt(x) | |
listener: handleNoVariableInitializer(x) | |
listener: endInitializedIdentifier(x) | |
listener: endVariablesDeclaration(1, null) | |
listener: handleForInitializerLocalVariableDeclaration(x, true) | |
parseForInRest(x, null, for, null, x) | |
parseForInLoopPartsRest(x, null, for, null, x) | |
listener: beginForInExpression([) | |
parseExpression(in) | |
parsePrecedenceExpression(in, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(in, true, ConstantPatternContext.none) | |
parsePrimary(in, expression, ConstantPatternContext.none) | |
listener: handleNoTypeArguments([) | |
parseLiteralListSuffix(in, null) | |
parseExpression([) | |
parsePrecedenceExpression([, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression([, true, ConstantPatternContext.none) | |
parsePrimary([, expression, ConstantPatternContext.none) | |
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral([, ConstantPatternContext.none) | |
parseParenthesizedExpressionOrRecordLiteral([, null, ConstantPatternContext.none) | |
listener: beginParenthesizedExpressionOrRecordLiteral(() | |
parseExpression(() | |
parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression((, true, ConstantPatternContext.none) | |
parsePrimary((, expression, ConstantPatternContext.none) | |
parseLiteralInt(() | |
listener: handleLiteralInt(42) | |
parseExpression(,) | |
parsePrecedenceExpression(,, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(,, true, ConstantPatternContext.none) | |
parsePrimary(,, expression, ConstantPatternContext.none) | |
parseLiteralInt(,) | |
listener: handleLiteralInt(42) | |
ensureCloseParen(42, () | |
listener: endRecordLiteral((, 2, null) | |
parseExpression(,) | |
parsePrecedenceExpression(,, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(,, true, ConstantPatternContext.none) | |
parsePrimary(,, expression, ConstantPatternContext.none) | |
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(,, ConstantPatternContext.none) | |
parseParenthesizedExpressionOrRecordLiteral(,, null, ConstantPatternContext.none) | |
listener: beginParenthesizedExpressionOrRecordLiteral(() | |
parseExpression(() | |
parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression((, true, ConstantPatternContext.none) | |
parsePrimary((, expression, ConstantPatternContext.none) | |
parseLiteralInt(() | |
listener: handleLiteralInt(21) | |
parseExpression(,) | |
parsePrecedenceExpression(,, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(,, true, ConstantPatternContext.none) | |
parsePrimary(,, expression, ConstantPatternContext.none) | |
parseLiteralInt(,) | |
listener: handleLiteralInt(21) | |
ensureCloseParen(21, () | |
listener: endRecordLiteral((, 2, null) | |
listener: handleLiteralList(2, [, null, ]) | |
ensureCloseParen(], () | |
listener: endForInExpression()) | |
listener: handleForInLoopParts(null, for, (, null, in) | |
listener: beginForInBody({) | |
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) | |
parseSendOrFunctionLiteral((, expression) | |
parseSend((, expression) | |
isNextIdentifier(() | |
ensureIdentifier((, expression) | |
listener: handleIdentifier(x, expression) | |
listener: handleNoTypeArguments()) | |
parseArgumentsOpt(x) | |
listener: handleNoArguments()) | |
listener: handleSend(x, )) | |
listener: endArguments(1, (, )) | |
listener: handleSend(print, ;) | |
ensureSemicolon()) | |
listener: handleExpressionStatement(;) | |
notEofOrValue(}, }) | |
listener: endBlock(1, {, }, BlockKind(statement)) | |
listener: endForInBody(}) | |
listener: endForIn(}) | |
notEofOrValue(}, }) | |
listener: endBlockFunctionBody(1, {, }) | |
listener: endTopLevelMethod(main, null, }) | |
listener: endTopLevelDeclaration() | |
reportAllErrorTokens(main) | |
listener: endCompilationUnit(1, ) |