| parseUnit(class) | |
| skipErrorTokens(class) | |
| listener: beginCompilationUnit(class) | |
| syntheticPreviousToken(class) | |
| parseTopLevelDeclarationImpl(, DirectiveContext(DirectiveState.Unknown)) | |
| parseMetadataStar() | |
| listener: beginMetadataStar(class) | |
| listener: endMetadataStar(0) | |
| parseTopLevelKeywordDeclaration(class, , class, null, null, null, null, DirectiveContext(DirectiveState.Unknown)) | |
| parseClassOrNamedMixinApplication(class, 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, Class) | |
| parseClass(Class, class, class, Class) | |
| parseClassHeaderOpt(Class, class, class) | |
| parseClassExtendsOpt(Class, DeclarationHeaderKind.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, {, 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, ;, NoType(), null, Class, DeclarationKind.Class, Class, false) | |
| listener: beginMethod(DeclarationKind.Class, null, null, null, null, null, null, Class, 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(}) | |
| parseTopLevelDeclarationImpl(}, DirectiveContext(DirectiveState.Declarations)) | |
| parseMetadataStar(}) | |
| listener: beginMetadataStar(test) | |
| listener: endMetadataStar(0) | |
| parseTopLevelMemberImpl(}) | |
| listener: beginTopLevelMember(test) | |
| isReservedKeyword(() | |
| parseTopLevelMethod(}, null, null, }, 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, ConstantPatternContext.none) | |
| parseUnaryExpression((, true, ConstantPatternContext.none) | |
| parsePrimary((, expression, ConstantPatternContext.none) | |
| parseSendOrFunctionLiteral((, expression, ConstantPatternContext.none) | |
| parseSend((, expression, ConstantPatternContext.none) | |
| isNextIdentifier(() | |
| ensureIdentifier((, expression) | |
| listener: handleIdentifier(a, expression) | |
| listener: handleNoTypeArguments()) | |
| parseArgumentsOpt(a) | |
| listener: handleNoArguments()) | |
| listener: handleSend(a, a) | |
| ensureCloseParen(a, () | |
| listener: handleParenthesizedCondition((, null, null) | |
| parseSwitchBlock()) | |
| ensureBlock(), BlockKind(switch statement)) | |
| listener: beginSwitchBlock({) | |
| notEofOrValue(}, case) | |
| peekPastLabels(case) | |
| listener: beginCaseExpression(case) | |
| parsePattern(case, PatternContext.matching, precedence: 1) | |
| listener: beginPattern(case) | |
| parsePrimaryPattern(case, PatternContext.matching) | |
| parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching) | |
| ensureIdentifier((, namedRecordFieldReference) | |
| listener: handleIdentifier(foo, namedRecordFieldReference) | |
| parsePattern(:, PatternContext.matching, precedence: 1) | |
| listener: beginPattern(:) | |
| parsePrimaryPattern(:, PatternContext.matching) | |
| parseVariablePattern(:, PatternContext.matching, typeInfo: SimpleType()) | |
| listener: handleIdentifier(int, typeReference) | |
| listener: handleNoTypeArguments(b) | |
| listener: handleType(int, null) | |
| listener: handleDeclaredVariablePattern(null, b, false) | |
| listener: endPattern(b) | |
| listener: handlePatternField(:) | |
| ensureCloseParen(b, () | |
| listener: handleRecordPattern((, 1) | |
| listener: endPattern()) | |
| listener: beginSwitchCaseWhenClause(when) | |
| parseExpression(when) | |
| looksLikeOuterPatternEquals(when) | |
| skipOuterPattern(when) | |
| skipObjectPatternRest(b) | |
| parsePrecedenceExpression(when, 1, true, ConstantPatternContext.none) | |
| parseUnaryExpression(when, true, ConstantPatternContext.none) | |
| parsePrimary(when, expression, ConstantPatternContext.none) | |
| parseSendOrFunctionLiteral(when, expression, ConstantPatternContext.none) | |
| parseSend(when, expression, ConstantPatternContext.none) | |
| isNextIdentifier(when) | |
| ensureIdentifier(when, expression) | |
| listener: handleIdentifier(b, expression) | |
| listener: handleNoTypeArguments(!=) | |
| parseArgumentsOpt(b) | |
| listener: handleNoArguments(!=) | |
| listener: handleSend(b, b) | |
| listener: beginBinaryExpression(!=) | |
| parsePrecedenceExpression(!=, 8, true, ConstantPatternContext.none) | |
| parseUnaryExpression(!=, true, ConstantPatternContext.none) | |
| parsePrimary(!=, expression, ConstantPatternContext.none) | |
| parseLiteralInt(!=) | |
| listener: handleLiteralInt(2) | |
| listener: endBinaryExpression(!=, 2) | |
| 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, 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(() | |
| looksLikeOuterPatternEquals(() | |
| skipOuterPattern(() | |
| skipObjectPatternRest(b) | |
| parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
| parseUnaryExpression((, true, ConstantPatternContext.none) | |
| parsePrimary((, expression, ConstantPatternContext.none) | |
| parseSendOrFunctionLiteral((, expression, ConstantPatternContext.none) | |
| parseSend((, expression, ConstantPatternContext.none) | |
| isNextIdentifier(() | |
| ensureIdentifier((, expression) | |
| listener: handleIdentifier(b, expression) | |
| listener: handleNoTypeArguments()) | |
| parseArgumentsOpt(b) | |
| listener: handleNoArguments()) | |
| listener: handleSend(b, b) | |
| listener: endArguments(1, (, )) | |
| listener: handleSend(print, )) | |
| ensureSemicolon()) | |
| listener: handleExpressionStatement(print, ;) | |
| peekPastLabels(case) | |
| listener: endSwitchCase(0, 1, null, null, 1, case, ;) | |
| notEofOrValue(}, case) | |
| peekPastLabels(case) | |
| listener: beginCaseExpression(case) | |
| parsePattern(case, PatternContext.matching, precedence: 1) | |
| listener: beginPattern(case) | |
| parsePrimaryPattern(case, PatternContext.matching) | |
| parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching) | |
| ensureIdentifier((, namedRecordFieldReference) | |
| listener: handleIdentifier(foo, namedRecordFieldReference) | |
| parsePattern(:, PatternContext.matching, precedence: 1) | |
| listener: beginPattern(:) | |
| parsePrimaryPattern(:, PatternContext.matching) | |
| parseVariablePattern(:, PatternContext.matching, typeInfo: ComplexTypeInfo(start: (, typeArguments: NoTypeParamOrArg(), beforeQuestionMark: null, end: ), typeVariableStarters: [], gftHasReturnType: null, isRecordType: true, gftReturnTypeHasRecordType: false, recovered: false)) | |
| 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: handleDeclaredVariablePattern(null, b, false) | |
| listener: endPattern(b) | |
| listener: handlePatternField(:) | |
| ensureCloseParen(b, () | |
| listener: handleRecordPattern((, 1) | |
| listener: endPattern()) | |
| listener: beginSwitchCaseWhenClause(when) | |
| parseExpression(when) | |
| looksLikeOuterPatternEquals(when) | |
| skipOuterPattern(when) | |
| skipObjectPatternRest(b) | |
| parsePrecedenceExpression(when, 1, true, ConstantPatternContext.none) | |
| parseUnaryExpression(when, true, ConstantPatternContext.none) | |
| parsePrimary(when, expression, ConstantPatternContext.none) | |
| parseSendOrFunctionLiteral(when, expression, ConstantPatternContext.none) | |
| parseSend(when, expression, ConstantPatternContext.none) | |
| isNextIdentifier(when) | |
| ensureIdentifier(when, expression) | |
| listener: handleIdentifier(b, expression) | |
| listener: handleNoTypeArguments(!=) | |
| parseArgumentsOpt(b) | |
| listener: handleNoArguments(!=) | |
| listener: handleSend(b, b) | |
| listener: beginBinaryExpression(!=) | |
| parsePrecedenceExpression(!=, 8, true, ConstantPatternContext.none) | |
| parseUnaryExpression(!=, true, ConstantPatternContext.none) | |
| parsePrimary(!=, expression, ConstantPatternContext.none) | |
| parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(!=, ConstantPatternContext.none) | |
| parseParenthesizedExpressionOrRecordLiteral(!=, null, ConstantPatternContext.none) | |
| listener: beginParenthesizedExpressionOrRecordLiteral(() | |
| parseExpression(() | |
| looksLikeOuterPatternEquals(() | |
| skipOuterPattern(() | |
| parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
| parseUnaryExpression((, true, ConstantPatternContext.none) | |
| parsePrimary((, expression, ConstantPatternContext.none) | |
| parseLiteralInt(() | |
| listener: handleLiteralInt(2) | |
| parseExpression(,) | |
| looksLikeOuterPatternEquals(,) | |
| skipOuterPattern(,) | |
| parsePrecedenceExpression(,, 1, true, ConstantPatternContext.none) | |
| parseUnaryExpression(,, true, ConstantPatternContext.none) | |
| parsePrimary(,, expression, ConstantPatternContext.none) | |
| 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, 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(() | |
| looksLikeOuterPatternEquals(() | |
| skipOuterPattern(() | |
| skipObjectPatternRest(b) | |
| parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
| parseUnaryExpression((, true, ConstantPatternContext.none) | |
| parsePrimary((, expression, ConstantPatternContext.none) | |
| parseSendOrFunctionLiteral((, expression, ConstantPatternContext.none) | |
| parseSend((, expression, ConstantPatternContext.none) | |
| isNextIdentifier(() | |
| ensureIdentifier((, expression) | |
| listener: handleIdentifier(b, expression) | |
| listener: handleNoTypeArguments()) | |
| parseArgumentsOpt(b) | |
| listener: handleNoArguments()) | |
| listener: handleSend(b, b) | |
| listener: endArguments(1, (, )) | |
| listener: handleSend(print, )) | |
| ensureSemicolon()) | |
| listener: handleExpressionStatement(print, ;) | |
| peekPastLabels(case) | |
| listener: endSwitchCase(0, 1, null, null, 1, case, ;) | |
| notEofOrValue(}, case) | |
| peekPastLabels(case) | |
| listener: beginCaseExpression(case) | |
| parsePattern(case, PatternContext.matching, precedence: 1) | |
| listener: beginPattern(case) | |
| parsePrimaryPattern(case, PatternContext.matching) | |
| listener: handleNoTypeArguments(() | |
| parseObjectPatternRest(Class, PatternContext.matching) | |
| ensureIdentifier((, namedArgumentReference) | |
| listener: handleIdentifier(field, namedArgumentReference) | |
| parsePattern(:, PatternContext.matching, precedence: 1) | |
| listener: beginPattern(:) | |
| parsePrimaryPattern(:, PatternContext.matching) | |
| parseVariablePattern(:, PatternContext.matching, typeInfo: SimpleType()) | |
| listener: handleIdentifier(int, typeReference) | |
| listener: handleNoTypeArguments(b) | |
| listener: handleType(int, null) | |
| listener: handleDeclaredVariablePattern(null, b, false) | |
| listener: endPattern(b) | |
| listener: handlePatternField(:) | |
| listener: handleObjectPatternFields(1, (, )) | |
| listener: handleObjectPattern(Class, null, null) | |
| listener: endPattern()) | |
| listener: beginSwitchCaseWhenClause(when) | |
| parseExpression(when) | |
| looksLikeOuterPatternEquals(when) | |
| skipOuterPattern(when) | |
| skipObjectPatternRest(b) | |
| parsePrecedenceExpression(when, 1, true, ConstantPatternContext.none) | |
| parseUnaryExpression(when, true, ConstantPatternContext.none) | |
| parsePrimary(when, expression, ConstantPatternContext.none) | |
| parseSendOrFunctionLiteral(when, expression, ConstantPatternContext.none) | |
| parseSend(when, expression, ConstantPatternContext.none) | |
| isNextIdentifier(when) | |
| ensureIdentifier(when, expression) | |
| listener: handleIdentifier(b, expression) | |
| listener: handleNoTypeArguments(!=) | |
| parseArgumentsOpt(b) | |
| listener: handleNoArguments(!=) | |
| listener: handleSend(b, b) | |
| listener: beginBinaryExpression(!=) | |
| parsePrecedenceExpression(!=, 8, true, ConstantPatternContext.none) | |
| parseUnaryExpression(!=, true, ConstantPatternContext.none) | |
| parsePrimary(!=, expression, ConstantPatternContext.none) | |
| parseLiteralInt(!=) | |
| listener: handleLiteralInt(2) | |
| listener: endBinaryExpression(!=, 2) | |
| 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, 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(() | |
| looksLikeOuterPatternEquals(() | |
| skipOuterPattern(() | |
| skipObjectPatternRest(b) | |
| parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
| parseUnaryExpression((, true, ConstantPatternContext.none) | |
| parsePrimary((, expression, ConstantPatternContext.none) | |
| parseSendOrFunctionLiteral((, expression, ConstantPatternContext.none) | |
| parseSend((, expression, ConstantPatternContext.none) | |
| isNextIdentifier(() | |
| ensureIdentifier((, expression) | |
| listener: handleIdentifier(b, expression) | |
| listener: handleNoTypeArguments()) | |
| parseArgumentsOpt(b) | |
| listener: handleNoArguments()) | |
| listener: handleSend(b, b) | |
| listener: endArguments(1, (, )) | |
| listener: handleSend(print, )) | |
| ensureSemicolon()) | |
| listener: handleExpressionStatement(print, ;) | |
| peekPastLabels(case) | |
| listener: endSwitchCase(0, 1, null, null, 1, case, ;) | |
| notEofOrValue(}, case) | |
| peekPastLabels(case) | |
| listener: beginCaseExpression(case) | |
| parsePattern(case, PatternContext.matching, precedence: 1) | |
| listener: beginPattern(case) | |
| parsePrimaryPattern(case, PatternContext.matching) | |
| listener: handleNoTypeArguments(() | |
| parseObjectPatternRest(Class, PatternContext.matching) | |
| ensureIdentifier((, namedArgumentReference) | |
| listener: handleIdentifier(field, namedArgumentReference) | |
| parsePattern(:, PatternContext.matching, precedence: 1) | |
| listener: beginPattern(:) | |
| parsePrimaryPattern(:, PatternContext.matching) | |
| parseVariablePattern(:, PatternContext.matching, typeInfo: ComplexTypeInfo(start: (, typeArguments: NoTypeParamOrArg(), beforeQuestionMark: null, end: ), typeVariableStarters: [], gftHasReturnType: null, isRecordType: true, gftReturnTypeHasRecordType: false, recovered: false)) | |
| 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: handleDeclaredVariablePattern(null, b, false) | |
| listener: endPattern(b) | |
| listener: handlePatternField(:) | |
| listener: handleObjectPatternFields(1, (, )) | |
| listener: handleObjectPattern(Class, null, null) | |
| listener: endPattern()) | |
| listener: beginSwitchCaseWhenClause(when) | |
| parseExpression(when) | |
| looksLikeOuterPatternEquals(when) | |
| skipOuterPattern(when) | |
| skipObjectPatternRest(b) | |
| parsePrecedenceExpression(when, 1, true, ConstantPatternContext.none) | |
| parseUnaryExpression(when, true, ConstantPatternContext.none) | |
| parsePrimary(when, expression, ConstantPatternContext.none) | |
| parseSendOrFunctionLiteral(when, expression, ConstantPatternContext.none) | |
| parseSend(when, expression, ConstantPatternContext.none) | |
| isNextIdentifier(when) | |
| ensureIdentifier(when, expression) | |
| listener: handleIdentifier(b, expression) | |
| listener: handleNoTypeArguments(!=) | |
| parseArgumentsOpt(b) | |
| listener: handleNoArguments(!=) | |
| listener: handleSend(b, b) | |
| listener: beginBinaryExpression(!=) | |
| parsePrecedenceExpression(!=, 8, true, ConstantPatternContext.none) | |
| parseUnaryExpression(!=, true, ConstantPatternContext.none) | |
| parsePrimary(!=, expression, ConstantPatternContext.none) | |
| parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(!=, ConstantPatternContext.none) | |
| parseParenthesizedExpressionOrRecordLiteral(!=, null, ConstantPatternContext.none) | |
| listener: beginParenthesizedExpressionOrRecordLiteral(() | |
| parseExpression(() | |
| looksLikeOuterPatternEquals(() | |
| skipOuterPattern(() | |
| parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
| parseUnaryExpression((, true, ConstantPatternContext.none) | |
| parsePrimary((, expression, ConstantPatternContext.none) | |
| parseLiteralInt(() | |
| listener: handleLiteralInt(2) | |
| parseExpression(,) | |
| looksLikeOuterPatternEquals(,) | |
| skipOuterPattern(,) | |
| parsePrecedenceExpression(,, 1, true, ConstantPatternContext.none) | |
| parseUnaryExpression(,, true, ConstantPatternContext.none) | |
| parsePrimary(,, expression, ConstantPatternContext.none) | |
| 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, 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(() | |
| looksLikeOuterPatternEquals(() | |
| skipOuterPattern(() | |
| skipObjectPatternRest(b) | |
| parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
| parseUnaryExpression((, true, ConstantPatternContext.none) | |
| parsePrimary((, expression, ConstantPatternContext.none) | |
| parseSendOrFunctionLiteral((, expression, ConstantPatternContext.none) | |
| parseSend((, expression, ConstantPatternContext.none) | |
| isNextIdentifier(() | |
| ensureIdentifier((, expression) | |
| listener: handleIdentifier(b, expression) | |
| listener: handleNoTypeArguments()) | |
| parseArgumentsOpt(b) | |
| listener: handleNoArguments()) | |
| listener: handleSend(b, b) | |
| listener: endArguments(1, (, )) | |
| listener: handleSend(print, )) | |
| ensureSemicolon()) | |
| listener: handleExpressionStatement(print, ;) | |
| 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(}) | |
| parseTopLevelDeclarationImpl(}, DirectiveContext(DirectiveState.Declarations)) | |
| parseMetadataStar(}) | |
| listener: beginMetadataStar(testNullable) | |
| listener: endMetadataStar(0) | |
| parseTopLevelMemberImpl(}) | |
| listener: beginTopLevelMember(testNullable) | |
| isReservedKeyword(() | |
| parseTopLevelMethod(}, null, null, }, NoType(), null, testNullable, false) | |
| listener: beginTopLevelMethod(}, null, null) | |
| listener: handleNoType(}) | |
| ensureIdentifierPotentiallyRecovered(}, topLevelFunctionDeclaration, false) | |
| listener: handleIdentifier(testNullable, topLevelFunctionDeclaration) | |
| parseMethodTypeVar(testNullable) | |
| listener: handleNoTypeVariables(() | |
| parseGetterOrFormalParameters(testNullable, testNullable, false, MemberKind.TopLevelMethod) | |
| parseFormalParameters(testNullable, 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, ConstantPatternContext.none) | |
| parseUnaryExpression((, true, ConstantPatternContext.none) | |
| parsePrimary((, expression, ConstantPatternContext.none) | |
| parseSendOrFunctionLiteral((, expression, ConstantPatternContext.none) | |
| parseSend((, expression, ConstantPatternContext.none) | |
| isNextIdentifier(() | |
| ensureIdentifier((, expression) | |
| listener: handleIdentifier(a, expression) | |
| listener: handleNoTypeArguments()) | |
| parseArgumentsOpt(a) | |
| listener: handleNoArguments()) | |
| listener: handleSend(a, a) | |
| ensureCloseParen(a, () | |
| listener: handleParenthesizedCondition((, null, null) | |
| parseSwitchBlock()) | |
| ensureBlock(), BlockKind(switch statement)) | |
| listener: beginSwitchBlock({) | |
| notEofOrValue(}, case) | |
| peekPastLabels(case) | |
| listener: beginCaseExpression(case) | |
| parsePattern(case, PatternContext.matching, precedence: 1) | |
| listener: beginPattern(case) | |
| parsePrimaryPattern(case, PatternContext.matching) | |
| parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching) | |
| ensureIdentifier((, namedRecordFieldReference) | |
| listener: handleIdentifier(foo, namedRecordFieldReference) | |
| parsePattern(:, PatternContext.matching, precedence: 1) | |
| listener: beginPattern(:) | |
| parsePrimaryPattern(:, PatternContext.matching) | |
| parseVariablePattern(:, PatternContext.matching, typeInfo: ComplexTypeInfo(start: (, typeArguments: NoTypeParamOrArg(), beforeQuestionMark: ), end: ?, typeVariableStarters: [], gftHasReturnType: null, isRecordType: true, gftReturnTypeHasRecordType: false, recovered: false)) | |
| parseRecordType((, :, true) | |
| 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((, ?, 2, false) | |
| listener: handleDeclaredVariablePattern(null, b, false) | |
| listener: endPattern(b) | |
| listener: handlePatternField(:) | |
| ensureCloseParen(b, () | |
| listener: handleRecordPattern((, 1) | |
| listener: endPattern()) | |
| listener: beginSwitchCaseWhenClause(when) | |
| parseExpression(when) | |
| looksLikeOuterPatternEquals(when) | |
| skipOuterPattern(when) | |
| skipObjectPatternRest(b) | |
| parsePrecedenceExpression(when, 1, true, ConstantPatternContext.none) | |
| parseUnaryExpression(when, true, ConstantPatternContext.none) | |
| parsePrimary(when, expression, ConstantPatternContext.none) | |
| parseSendOrFunctionLiteral(when, expression, ConstantPatternContext.none) | |
| parseSend(when, expression, ConstantPatternContext.none) | |
| isNextIdentifier(when) | |
| ensureIdentifier(when, expression) | |
| listener: handleIdentifier(b, expression) | |
| listener: handleNoTypeArguments(!=) | |
| parseArgumentsOpt(b) | |
| listener: handleNoArguments(!=) | |
| listener: handleSend(b, b) | |
| listener: beginBinaryExpression(!=) | |
| parsePrecedenceExpression(!=, 8, true, ConstantPatternContext.none) | |
| parseUnaryExpression(!=, true, ConstantPatternContext.none) | |
| parsePrimary(!=, expression, ConstantPatternContext.none) | |
| parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(!=, ConstantPatternContext.none) | |
| parseParenthesizedExpressionOrRecordLiteral(!=, null, ConstantPatternContext.none) | |
| listener: beginParenthesizedExpressionOrRecordLiteral(() | |
| parseExpression(() | |
| looksLikeOuterPatternEquals(() | |
| skipOuterPattern(() | |
| parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
| parseUnaryExpression((, true, ConstantPatternContext.none) | |
| parsePrimary((, expression, ConstantPatternContext.none) | |
| parseLiteralInt(() | |
| listener: handleLiteralInt(2) | |
| parseExpression(,) | |
| looksLikeOuterPatternEquals(,) | |
| skipOuterPattern(,) | |
| parsePrecedenceExpression(,, 1, true, ConstantPatternContext.none) | |
| parseUnaryExpression(,, true, ConstantPatternContext.none) | |
| parsePrimary(,, expression, ConstantPatternContext.none) | |
| 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, 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(() | |
| looksLikeOuterPatternEquals(() | |
| skipOuterPattern(() | |
| skipObjectPatternRest(b) | |
| parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
| parseUnaryExpression((, true, ConstantPatternContext.none) | |
| parsePrimary((, expression, ConstantPatternContext.none) | |
| parseSendOrFunctionLiteral((, expression, ConstantPatternContext.none) | |
| parseSend((, expression, ConstantPatternContext.none) | |
| isNextIdentifier(() | |
| ensureIdentifier((, expression) | |
| listener: handleIdentifier(b, expression) | |
| listener: handleNoTypeArguments()) | |
| parseArgumentsOpt(b) | |
| listener: handleNoArguments()) | |
| listener: handleSend(b, b) | |
| listener: endArguments(1, (, )) | |
| listener: handleSend(print, )) | |
| ensureSemicolon()) | |
| listener: handleExpressionStatement(print, ;) | |
| peekPastLabels(case) | |
| listener: endSwitchCase(0, 1, null, null, 1, case, ;) | |
| notEofOrValue(}, case) | |
| peekPastLabels(case) | |
| listener: beginCaseExpression(case) | |
| parsePattern(case, PatternContext.matching, precedence: 1) | |
| listener: beginPattern(case) | |
| parsePrimaryPattern(case, PatternContext.matching) | |
| listener: handleNoTypeArguments(() | |
| parseObjectPatternRest(Class, PatternContext.matching) | |
| ensureIdentifier((, namedArgumentReference) | |
| listener: handleIdentifier(field, namedArgumentReference) | |
| parsePattern(:, PatternContext.matching, precedence: 1) | |
| listener: beginPattern(:) | |
| parsePrimaryPattern(:, PatternContext.matching) | |
| parseVariablePattern(:, PatternContext.matching, typeInfo: ComplexTypeInfo(start: (, typeArguments: NoTypeParamOrArg(), beforeQuestionMark: ), end: ?, typeVariableStarters: [], gftHasReturnType: null, isRecordType: true, gftReturnTypeHasRecordType: false, recovered: false)) | |
| parseRecordType((, :, true) | |
| 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((, ?, 2, false) | |
| listener: handleDeclaredVariablePattern(null, b, false) | |
| listener: endPattern(b) | |
| listener: handlePatternField(:) | |
| listener: handleObjectPatternFields(1, (, )) | |
| listener: handleObjectPattern(Class, null, null) | |
| listener: endPattern()) | |
| listener: beginSwitchCaseWhenClause(when) | |
| parseExpression(when) | |
| looksLikeOuterPatternEquals(when) | |
| skipOuterPattern(when) | |
| skipObjectPatternRest(b) | |
| parsePrecedenceExpression(when, 1, true, ConstantPatternContext.none) | |
| parseUnaryExpression(when, true, ConstantPatternContext.none) | |
| parsePrimary(when, expression, ConstantPatternContext.none) | |
| parseSendOrFunctionLiteral(when, expression, ConstantPatternContext.none) | |
| parseSend(when, expression, ConstantPatternContext.none) | |
| isNextIdentifier(when) | |
| ensureIdentifier(when, expression) | |
| listener: handleIdentifier(b, expression) | |
| listener: handleNoTypeArguments(!=) | |
| parseArgumentsOpt(b) | |
| listener: handleNoArguments(!=) | |
| listener: handleSend(b, b) | |
| listener: beginBinaryExpression(!=) | |
| parsePrecedenceExpression(!=, 8, true, ConstantPatternContext.none) | |
| parseUnaryExpression(!=, true, ConstantPatternContext.none) | |
| parsePrimary(!=, expression, ConstantPatternContext.none) | |
| parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(!=, ConstantPatternContext.none) | |
| parseParenthesizedExpressionOrRecordLiteral(!=, null, ConstantPatternContext.none) | |
| listener: beginParenthesizedExpressionOrRecordLiteral(() | |
| parseExpression(() | |
| looksLikeOuterPatternEquals(() | |
| skipOuterPattern(() | |
| parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
| parseUnaryExpression((, true, ConstantPatternContext.none) | |
| parsePrimary((, expression, ConstantPatternContext.none) | |
| parseLiteralInt(() | |
| listener: handleLiteralInt(2) | |
| parseExpression(,) | |
| looksLikeOuterPatternEquals(,) | |
| skipOuterPattern(,) | |
| parsePrecedenceExpression(,, 1, true, ConstantPatternContext.none) | |
| parseUnaryExpression(,, true, ConstantPatternContext.none) | |
| parsePrimary(,, expression, ConstantPatternContext.none) | |
| 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, 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(() | |
| looksLikeOuterPatternEquals(() | |
| skipOuterPattern(() | |
| skipObjectPatternRest(b) | |
| parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
| parseUnaryExpression((, true, ConstantPatternContext.none) | |
| parsePrimary((, expression, ConstantPatternContext.none) | |
| parseSendOrFunctionLiteral((, expression, ConstantPatternContext.none) | |
| parseSend((, expression, ConstantPatternContext.none) | |
| isNextIdentifier(() | |
| ensureIdentifier((, expression) | |
| listener: handleIdentifier(b, expression) | |
| listener: handleNoTypeArguments()) | |
| parseArgumentsOpt(b) | |
| listener: handleNoArguments()) | |
| listener: handleSend(b, b) | |
| listener: endArguments(1, (, )) | |
| listener: handleSend(print, )) | |
| ensureSemicolon()) | |
| listener: handleExpressionStatement(print, ;) | |
| peekPastLabels(}) | |
| listener: endSwitchCase(0, 1, null, null, 1, case, ;) | |
| notEofOrValue(}, }) | |
| listener: endSwitchBlock(2, {, }) | |
| listener: endSwitchStatement(switch, }) | |
| notEofOrValue(}, }) | |
| listener: endBlockFunctionBody(1, {, }) | |
| listener: endTopLevelMethod(testNullable, null, }) | |
| listener: endTopLevelDeclaration(}) | |
| reportAllErrorTokens(class) | |
| listener: endCompilationUnit(3, ) |