blob: 88646243fa71bf1662d72f4c98eaf4ad8d5694b3 [file] [log] [blame]
parseUnit(class)
skipErrorTokens(class)
listener: beginCompilationUnit(class)
syntheticPreviousToken(class)
parseTopLevelDeclarationImpl(, Instance of 'DirectiveContext')
parseMetadataStar()
listener: beginMetadataStar(class)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(, class, null, null, null, null, null, Instance of 'DirectiveContext')
parseClassOrNamedMixinApplication(null, null, null, null, null, null, null, null, null, class)
listener: beginClassOrMixinOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Class, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
listener: beginClassDeclaration(class, null, null, null, null, null, null, null, null, null, Class)
parseClass(Class, class, class, Class)
parseClassHeaderOpt(Class, class, class)
parseClassExtendsOpt(Class)
listener: handleNoType(Class)
listener: handleClassExtends(null, 1)
parseClassWithClauseOpt(Class)
listener: handleClassNoWithClause()
parseClassOrMixinOrEnumImplementsOpt(Class)
listener: handleImplements(null, 0)
listener: handleClassHeader(class, class, null)
parseClassOrMixinOrExtensionBody(Class, DeclarationKind.Class, Class)
listener: beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {)
notEofOrValue(}, dynamic)
parseClassOrMixinOrExtensionOrEnumMemberImpl({, DeclarationKind.Class, Class)
parseMetadataStar({)
listener: beginMetadataStar(dynamic)
listener: endMetadataStar(0)
listener: beginMember()
parseFields({, null, null, null, null, null, null, null, {, Instance of 'SimpleType', field, DeclarationKind.Class, Class, false)
listener: beginFields(DeclarationKind.Class, null, null, null, null, null, null, null, {)
listener: handleIdentifier(dynamic, typeReference)
listener: handleNoTypeArguments(field)
listener: handleType(dynamic, null)
ensureIdentifierPotentiallyRecovered(dynamic, fieldDeclaration, false)
listener: handleIdentifier(field, fieldDeclaration)
parseFieldInitializerOpt(field, field, null, null, null, null, null, DeclarationKind.Class, Class)
listener: handleNoFieldInitializer(;)
listener: endClassFields(null, null, null, null, null, null, null, 1, dynamic, ;)
listener: endMember()
notEofOrValue(}, Class)
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Class, Class)
parseMetadataStar(;)
listener: beginMetadataStar(Class)
listener: endMetadataStar(0)
listener: beginMember()
isReservedKeyword(()
parseMethod(;, null, null, null, null, null, null, null, ;, Instance of 'NoType', null, Class, DeclarationKind.Class, Class, false)
listener: beginMethod(DeclarationKind.Class, null, null, null, null, null, null, Class)
listener: handleNoType(;)
ensureIdentifierPotentiallyRecovered(;, methodDeclaration, false)
listener: handleIdentifier(Class, methodDeclaration)
parseQualifiedRestOpt(Class, methodDeclarationContinuation)
parseMethodTypeVar(Class)
listener: handleNoTypeVariables(()
parseGetterOrFormalParameters(Class, Class, false, MemberKind.NonStaticMethod)
parseFormalParameters(Class, MemberKind.NonStaticMethod)
parseFormalParametersRest((, MemberKind.NonStaticMethod)
listener: beginFormalParameters((, MemberKind.NonStaticMethod)
parseFormalParameter((, FormalParameterKind.requiredPositional, MemberKind.NonStaticMethod)
parseMetadataStar(()
listener: beginMetadataStar(this)
listener: endMetadataStar(0)
listener: beginFormalParameter(this, MemberKind.NonStaticMethod, null, null, null)
listener: handleNoType(()
ensureIdentifier(., fieldInitializer)
listener: handleIdentifier(field, fieldInitializer)
listener: handleFormalParameterWithoutValue())
listener: endFormalParameter(this, null, ., field, null, null, FormalParameterKind.requiredPositional, MemberKind.NonStaticMethod)
listener: endFormalParameters(1, (, ), MemberKind.NonStaticMethod)
parseInitializersOpt())
listener: handleNoInitializers()
parseAsyncModifierOpt())
listener: handleAsyncModifier(null, null)
inPlainSync()
inPlainSync()
parseFunctionBody(), false, true)
listener: handleEmptyFunctionBody(;)
listener: endClassConstructor(null, Class, (, null, ;)
listener: endMember()
notEofOrValue(}, })
listener: endClassOrMixinOrExtensionBody(DeclarationKind.Class, 2, {, })
listener: endClassDeclaration(class, })
listener: endTopLevelDeclaration(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(a)
listener: endMetadataStar(0)
listener: beginFormalParameter(a, MemberKind.TopLevelMethod, null, null, null)
listener: handleNoType(()
ensureIdentifier((, 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(}, switch)
parseStatement({)
parseStatementX({)
parseSwitchStatement({)
listener: beginSwitchStatement(switch)
ensureParenthesizedCondition(switch, allowCase: false)
parseExpressionInParenthesisRest((, allowCase: false)
parseExpression(()
looksLikeOuterPatternEquals(()
skipOuterPattern(()
skipObjectPatternRest(a)
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseSendOrFunctionLiteral((, expression)
parseSend((, expression)
isNextIdentifier(()
ensureIdentifier((, expression)
listener: handleIdentifier(a, expression)
listener: handleNoTypeArguments())
parseArgumentsOpt(a)
listener: handleNoArguments())
listener: handleSend(a, ))
ensureCloseParen(a, ()
listener: handleParenthesizedCondition((, null, null)
parseSwitchBlock())
ensureBlock(), null, switch statement)
listener: beginSwitchBlock({)
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
parsePattern(case, PatternContext.matching, precedence: 1)
parsePrimaryPattern(case, PatternContext.matching)
parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
ensureIdentifier((, namedRecordFieldReference)
listener: handleIdentifier(foo, namedRecordFieldReference)
parsePattern(:, PatternContext.matching, precedence: 1)
parsePrimaryPattern(:, PatternContext.matching)
parseVariablePattern(:, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(b)
listener: handleType(int, null)
listener: handleVariablePattern(null, b, false)
listener: handlePatternField(:)
ensureCloseParen(b, ()
listener: handleRecordPattern((, 1)
listener: beginSwitchCaseWhenClause(when)
parseExpression(when)
looksLikeOuterPatternEquals(when)
skipOuterPattern(when)
skipObjectPatternRest(b)
parsePrecedenceExpression(when, 1, true)
parseUnaryExpression(when, true)
parsePrimary(when, expression)
parseSendOrFunctionLiteral(when, expression)
parseSend(when, expression)
isNextIdentifier(when)
ensureIdentifier(when, expression)
listener: handleIdentifier(b, expression)
listener: handleNoTypeArguments(!=)
parseArgumentsOpt(b)
listener: handleNoArguments(!=)
listener: handleSend(b, !=)
listener: beginBinaryExpression(!=)
parsePrecedenceExpression(!=, 8, true)
parseUnaryExpression(!=, true)
parsePrimary(!=, expression)
parseLiteralInt(!=)
listener: handleLiteralInt(2)
listener: endBinaryExpression(!=)
listener: endSwitchCaseWhenClause(2)
ensureColon(2)
listener: endCaseExpression(case, when, :)
peekPastLabels(print)
parseStatementsInSwitchCase(:, print, case, 0, 1, null, null)
listener: beginSwitchCase(0, 1, case)
parseStatement(:)
parseStatementX(:)
parseExpressionStatementOrDeclarationAfterModifiers(:, :, null, null, null, null)
looksLikeLocalFunction(print)
parseExpressionStatement(:)
parseExpression(:)
looksLikeOuterPatternEquals(:)
skipOuterPattern(:)
skipObjectPatternRest(print)
parsePrecedenceExpression(:, 1, true)
parseUnaryExpression(:, true)
parsePrimary(:, expression)
parseSendOrFunctionLiteral(:, expression)
looksLikeFunctionBody(;)
parseSend(:, expression)
isNextIdentifier(:)
ensureIdentifier(:, expression)
listener: handleIdentifier(print, expression)
listener: handleNoTypeArguments(()
parseArgumentsOpt(print)
parseArguments(print)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
looksLikeOuterPatternEquals(()
skipOuterPattern(()
skipObjectPatternRest(b)
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseSendOrFunctionLiteral((, expression)
parseSend((, expression)
isNextIdentifier(()
ensureIdentifier((, expression)
listener: handleIdentifier(b, expression)
listener: handleNoTypeArguments())
parseArgumentsOpt(b)
listener: handleNoArguments())
listener: handleSend(b, ))
listener: endArguments(1, (, ))
listener: handleSend(print, ;)
ensureSemicolon())
listener: handleExpressionStatement(;)
peekPastLabels(case)
listener: endSwitchCase(0, 1, null, null, 1, case, case)
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
parsePattern(case, PatternContext.matching, precedence: 1)
parsePrimaryPattern(case, PatternContext.matching)
parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
ensureIdentifier((, namedRecordFieldReference)
listener: handleIdentifier(foo, namedRecordFieldReference)
parsePattern(:, PatternContext.matching, precedence: 1)
parsePrimaryPattern(:, PatternContext.matching)
parseVariablePattern(:, PatternContext.matching, typeInfo: Instance of 'ComplexTypeInfo')
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: handleVariablePattern(null, b, false)
listener: handlePatternField(:)
ensureCloseParen(b, ()
listener: handleRecordPattern((, 1)
listener: beginSwitchCaseWhenClause(when)
parseExpression(when)
looksLikeOuterPatternEquals(when)
skipOuterPattern(when)
skipObjectPatternRest(b)
parsePrecedenceExpression(when, 1, true)
parseUnaryExpression(when, true)
parsePrimary(when, expression)
parseSendOrFunctionLiteral(when, expression)
parseSend(when, expression)
isNextIdentifier(when)
ensureIdentifier(when, expression)
listener: handleIdentifier(b, expression)
listener: handleNoTypeArguments(!=)
parseArgumentsOpt(b)
listener: handleNoArguments(!=)
listener: handleSend(b, !=)
listener: beginBinaryExpression(!=)
parsePrecedenceExpression(!=, 8, true)
parseUnaryExpression(!=, true)
parsePrimary(!=, expression)
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(!=)
parseParenthesizedExpressionOrRecordLiteral(!=, null)
listener: beginParenthesizedExpressionOrRecordLiteral(()
parseExpression(()
looksLikeOuterPatternEquals(()
skipOuterPattern(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralInt(()
listener: handleLiteralInt(2)
parseExpression(,)
looksLikeOuterPatternEquals(,)
skipOuterPattern(,)
parsePrecedenceExpression(,, 1, true)
parseUnaryExpression(,, true)
parsePrimary(,, expression)
parseLiteralInt(,)
listener: handleLiteralInt(3)
ensureCloseParen(3, ()
listener: endRecordLiteral((, 2, null)
listener: endBinaryExpression(!=)
listener: endSwitchCaseWhenClause())
ensureColon())
listener: endCaseExpression(case, when, :)
peekPastLabels(print)
parseStatementsInSwitchCase(:, print, case, 0, 1, null, null)
listener: beginSwitchCase(0, 1, case)
parseStatement(:)
parseStatementX(:)
parseExpressionStatementOrDeclarationAfterModifiers(:, :, null, null, null, null)
looksLikeLocalFunction(print)
parseExpressionStatement(:)
parseExpression(:)
looksLikeOuterPatternEquals(:)
skipOuterPattern(:)
skipObjectPatternRest(print)
parsePrecedenceExpression(:, 1, true)
parseUnaryExpression(:, true)
parsePrimary(:, expression)
parseSendOrFunctionLiteral(:, expression)
looksLikeFunctionBody(;)
parseSend(:, expression)
isNextIdentifier(:)
ensureIdentifier(:, expression)
listener: handleIdentifier(print, expression)
listener: handleNoTypeArguments(()
parseArgumentsOpt(print)
parseArguments(print)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
looksLikeOuterPatternEquals(()
skipOuterPattern(()
skipObjectPatternRest(b)
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseSendOrFunctionLiteral((, expression)
parseSend((, expression)
isNextIdentifier(()
ensureIdentifier((, expression)
listener: handleIdentifier(b, expression)
listener: handleNoTypeArguments())
parseArgumentsOpt(b)
listener: handleNoArguments())
listener: handleSend(b, ))
listener: endArguments(1, (, ))
listener: handleSend(print, ;)
ensureSemicolon())
listener: handleExpressionStatement(;)
peekPastLabels(case)
listener: endSwitchCase(0, 1, null, null, 1, case, case)
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
parsePattern(case, PatternContext.matching, precedence: 1)
parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments(()
parseObjectPatternRest(Class, PatternContext.matching)
ensureIdentifier((, namedArgumentReference)
listener: handleIdentifier(field, namedArgumentReference)
parsePattern(:, PatternContext.matching, precedence: 1)
parsePrimaryPattern(:, PatternContext.matching)
parseVariablePattern(:, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(b)
listener: handleType(int, null)
listener: handleVariablePattern(null, b, false)
listener: handlePatternField(:)
listener: handleObjectPatternFields(1, (, ))
listener: handleObjectPattern(Class, null, null)
listener: beginSwitchCaseWhenClause(when)
parseExpression(when)
looksLikeOuterPatternEquals(when)
skipOuterPattern(when)
skipObjectPatternRest(b)
parsePrecedenceExpression(when, 1, true)
parseUnaryExpression(when, true)
parsePrimary(when, expression)
parseSendOrFunctionLiteral(when, expression)
parseSend(when, expression)
isNextIdentifier(when)
ensureIdentifier(when, expression)
listener: handleIdentifier(b, expression)
listener: handleNoTypeArguments(!=)
parseArgumentsOpt(b)
listener: handleNoArguments(!=)
listener: handleSend(b, !=)
listener: beginBinaryExpression(!=)
parsePrecedenceExpression(!=, 8, true)
parseUnaryExpression(!=, true)
parsePrimary(!=, expression)
parseLiteralInt(!=)
listener: handleLiteralInt(2)
listener: endBinaryExpression(!=)
listener: endSwitchCaseWhenClause(2)
ensureColon(2)
listener: endCaseExpression(case, when, :)
peekPastLabels(print)
parseStatementsInSwitchCase(:, print, case, 0, 1, null, null)
listener: beginSwitchCase(0, 1, case)
parseStatement(:)
parseStatementX(:)
parseExpressionStatementOrDeclarationAfterModifiers(:, :, null, null, null, null)
looksLikeLocalFunction(print)
parseExpressionStatement(:)
parseExpression(:)
looksLikeOuterPatternEquals(:)
skipOuterPattern(:)
skipObjectPatternRest(print)
parsePrecedenceExpression(:, 1, true)
parseUnaryExpression(:, true)
parsePrimary(:, expression)
parseSendOrFunctionLiteral(:, expression)
looksLikeFunctionBody(;)
parseSend(:, expression)
isNextIdentifier(:)
ensureIdentifier(:, expression)
listener: handleIdentifier(print, expression)
listener: handleNoTypeArguments(()
parseArgumentsOpt(print)
parseArguments(print)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
looksLikeOuterPatternEquals(()
skipOuterPattern(()
skipObjectPatternRest(b)
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseSendOrFunctionLiteral((, expression)
parseSend((, expression)
isNextIdentifier(()
ensureIdentifier((, expression)
listener: handleIdentifier(b, expression)
listener: handleNoTypeArguments())
parseArgumentsOpt(b)
listener: handleNoArguments())
listener: handleSend(b, ))
listener: endArguments(1, (, ))
listener: handleSend(print, ;)
ensureSemicolon())
listener: handleExpressionStatement(;)
peekPastLabels(case)
listener: endSwitchCase(0, 1, null, null, 1, case, case)
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
parsePattern(case, PatternContext.matching, precedence: 1)
parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments(()
parseObjectPatternRest(Class, PatternContext.matching)
ensureIdentifier((, namedArgumentReference)
listener: handleIdentifier(field, namedArgumentReference)
parsePattern(:, PatternContext.matching, precedence: 1)
parsePrimaryPattern(:, PatternContext.matching)
parseVariablePattern(:, PatternContext.matching, typeInfo: Instance of 'ComplexTypeInfo')
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: handleVariablePattern(null, b, false)
listener: handlePatternField(:)
listener: handleObjectPatternFields(1, (, ))
listener: handleObjectPattern(Class, null, null)
listener: beginSwitchCaseWhenClause(when)
parseExpression(when)
looksLikeOuterPatternEquals(when)
skipOuterPattern(when)
skipObjectPatternRest(b)
parsePrecedenceExpression(when, 1, true)
parseUnaryExpression(when, true)
parsePrimary(when, expression)
parseSendOrFunctionLiteral(when, expression)
parseSend(when, expression)
isNextIdentifier(when)
ensureIdentifier(when, expression)
listener: handleIdentifier(b, expression)
listener: handleNoTypeArguments(!=)
parseArgumentsOpt(b)
listener: handleNoArguments(!=)
listener: handleSend(b, !=)
listener: beginBinaryExpression(!=)
parsePrecedenceExpression(!=, 8, true)
parseUnaryExpression(!=, true)
parsePrimary(!=, expression)
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(!=)
parseParenthesizedExpressionOrRecordLiteral(!=, null)
listener: beginParenthesizedExpressionOrRecordLiteral(()
parseExpression(()
looksLikeOuterPatternEquals(()
skipOuterPattern(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralInt(()
listener: handleLiteralInt(2)
parseExpression(,)
looksLikeOuterPatternEquals(,)
skipOuterPattern(,)
parsePrecedenceExpression(,, 1, true)
parseUnaryExpression(,, true)
parsePrimary(,, expression)
parseLiteralInt(,)
listener: handleLiteralInt(3)
ensureCloseParen(3, ()
listener: endRecordLiteral((, 2, null)
listener: endBinaryExpression(!=)
listener: endSwitchCaseWhenClause())
ensureColon())
listener: endCaseExpression(case, when, :)
peekPastLabels(print)
parseStatementsInSwitchCase(:, print, case, 0, 1, null, null)
listener: beginSwitchCase(0, 1, case)
parseStatement(:)
parseStatementX(:)
parseExpressionStatementOrDeclarationAfterModifiers(:, :, null, null, null, null)
looksLikeLocalFunction(print)
parseExpressionStatement(:)
parseExpression(:)
looksLikeOuterPatternEquals(:)
skipOuterPattern(:)
skipObjectPatternRest(print)
parsePrecedenceExpression(:, 1, true)
parseUnaryExpression(:, true)
parsePrimary(:, expression)
parseSendOrFunctionLiteral(:, expression)
looksLikeFunctionBody(;)
parseSend(:, expression)
isNextIdentifier(:)
ensureIdentifier(:, expression)
listener: handleIdentifier(print, expression)
listener: handleNoTypeArguments(()
parseArgumentsOpt(print)
parseArguments(print)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
looksLikeOuterPatternEquals(()
skipOuterPattern(()
skipObjectPatternRest(b)
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseSendOrFunctionLiteral((, expression)
parseSend((, expression)
isNextIdentifier(()
ensureIdentifier((, expression)
listener: handleIdentifier(b, expression)
listener: handleNoTypeArguments())
parseArgumentsOpt(b)
listener: handleNoArguments())
listener: handleSend(b, ))
listener: endArguments(1, (, ))
listener: handleSend(print, ;)
ensureSemicolon())
listener: handleExpressionStatement(;)
peekPastLabels(})
listener: endSwitchCase(0, 1, null, null, 1, case, })
notEofOrValue(}, })
listener: endSwitchBlock(4, {, })
listener: endSwitchStatement(switch, })
notEofOrValue(}, })
listener: endBlockFunctionBody(1, {, })
listener: endTopLevelMethod(test, null, })
listener: endTopLevelDeclaration()
reportAllErrorTokens(class)
listener: endCompilationUnit(2, )