parseUnit(import) | |
skipErrorTokens(import) | |
listener: beginCompilationUnit(import) | |
syntheticPreviousToken(import) | |
parseTopLevelDeclarationImpl(, Instance of 'DirectiveContext') | |
parseMetadataStar() | |
listener: beginMetadataStar(import) | |
listener: endMetadataStar(0) | |
parseTopLevelKeywordDeclaration(, import, null, null, null, null, null, Instance of 'DirectiveContext') | |
parseImport(import) | |
listener: beginUncategorizedTopLevelDeclaration(import) | |
listener: beginImport(import) | |
ensureLiteralString(import) | |
parseLiteralString(import) | |
parseSingleLiteralString(import) | |
listener: beginLiteralString('const_patterns.dart') | |
listener: endLiteralString(0, as) | |
parseConditionalUriStar('const_patterns.dart') | |
listener: beginConditionalUris(as) | |
listener: endConditionalUris(0) | |
parseImportPrefixOpt('const_patterns.dart') | |
ensureIdentifier(as, importPrefixDeclaration) | |
listener: handleIdentifier(prefix, importPrefixDeclaration) | |
listener: handleImportPrefix(null, as) | |
parseCombinatorStar(prefix) | |
listener: beginCombinators(;) | |
listener: endCombinators(0) | |
listener: endImport(import, null, ;) | |
listener: endTopLevelDeclaration(const) | |
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext') | |
parseMetadataStar(;) | |
listener: beginMetadataStar(const) | |
listener: endMetadataStar(0) | |
parseTopLevelMemberImpl(;) | |
listener: beginTopLevelMember(const) | |
parseFields(;, null, null, null, null, null, null, const, const, Instance of 'SimpleType', value, DeclarationKind.TopLevel, null, false) | |
listener: beginFields(DeclarationKind.TopLevel, null, null, null, null, null, null, const, ;) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments(value) | |
listener: handleType(int, null) | |
ensureIdentifierPotentiallyRecovered(int, topLevelVariableDeclaration, false) | |
listener: handleIdentifier(value, topLevelVariableDeclaration) | |
parseFieldInitializerOpt(value, value, null, null, null, null, const, DeclarationKind.TopLevel, null) | |
listener: beginFieldInitializer(=) | |
parseExpression(=) | |
looksLikeOuterPatternEquals(=) | |
skipOuterPattern(=) | |
parsePrecedenceExpression(=, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(=, true, ConstantPatternContext.none) | |
parsePrimary(=, expression, ConstantPatternContext.none) | |
parseLiteralInt(=) | |
listener: handleLiteralInt(42) | |
listener: endFieldInitializer(=, ;) | |
listener: endTopLevelFields(null, null, null, null, const, 1, const, ;) | |
listener: endTopLevelDeclaration(void) | |
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext') | |
parseMetadataStar(;) | |
listener: beginMetadataStar(void) | |
listener: endMetadataStar(0) | |
parseTopLevelMemberImpl(;) | |
listener: beginTopLevelMember(void) | |
parseTopLevelMethod(;, null, null, ;, Instance of 'VoidType', null, func, false) | |
listener: beginTopLevelMethod(;, null, null) | |
listener: handleVoidKeyword(void) | |
ensureIdentifierPotentiallyRecovered(void, topLevelFunctionDeclaration, false) | |
listener: handleIdentifier(func, topLevelFunctionDeclaration) | |
parseMethodTypeVar(func) | |
listener: handleNoTypeVariables(() | |
parseGetterOrFormalParameters(func, func, false, MemberKind.TopLevelMethod) | |
parseFormalParameters(func, 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(}, }) | |
listener: endBlockFunctionBody(0, {, }) | |
listener: endTopLevelMethod(void, null, }) | |
listener: endTopLevelDeclaration(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(}, const) | |
parseClassOrMixinOrExtensionOrEnumMemberImpl({, DeclarationKind.Class, Class) | |
parseMetadataStar({) | |
listener: beginMetadataStar(const) | |
listener: endMetadataStar(0) | |
listener: beginMember() | |
parseMethod({, null, null, null, null, null, null, const, const, Instance of 'NoType', null, Class, DeclarationKind.Class, Class, false) | |
listener: beginMethod(DeclarationKind.Class, null, null, null, null, const, null, Class) | |
listener: handleNoType(const) | |
ensureIdentifierPotentiallyRecovered(const, 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) | |
parseOptionalPositionalParameters((, MemberKind.NonStaticMethod) | |
listener: beginOptionalFormalParameters([) | |
parseFormalParameter([, FormalParameterKind.optionalPositional, MemberKind.NonStaticMethod) | |
parseMetadataStar([) | |
listener: beginMetadataStar(a) | |
listener: endMetadataStar(0) | |
listener: beginFormalParameter(a, MemberKind.NonStaticMethod, null, null, null) | |
listener: handleNoType([) | |
ensureIdentifier([, formalParameterDeclaration) | |
listener: handleIdentifier(a, formalParameterDeclaration) | |
listener: handleFormalParameterWithoutValue(]) | |
listener: endFormalParameter(null, null, null, a, null, null, FormalParameterKind.optionalPositional, MemberKind.NonStaticMethod) | |
listener: endOptionalFormalParameters(1, [, ]) | |
ensureCloseParen(], () | |
listener: endFormalParameters(1, (, ), MemberKind.NonStaticMethod) | |
parseInitializersOpt()) | |
listener: handleNoInitializers() | |
parseAsyncModifierOpt()) | |
listener: handleAsyncModifier(null, null) | |
inPlainSync() | |
inPlainSync() | |
parseFunctionBody(), false, true) | |
listener: handleEmptyFunctionBody(;) | |
listener: endClassConstructor(null, const, (, null, ;) | |
listener: endMember() | |
notEofOrValue(}, call) | |
parseClassOrMixinOrExtensionOrEnumMemberImpl(;, DeclarationKind.Class, Class) | |
parseMetadataStar(;) | |
listener: beginMetadataStar(call) | |
listener: endMetadataStar(0) | |
listener: beginMember() | |
isReservedKeyword(() | |
parseMethod(;, null, null, null, null, null, null, null, ;, Instance of 'NoType', null, call, DeclarationKind.Class, Class, false) | |
listener: beginMethod(DeclarationKind.Class, null, null, null, null, null, null, call) | |
listener: handleNoType(;) | |
ensureIdentifierPotentiallyRecovered(;, methodDeclaration, false) | |
listener: handleIdentifier(call, methodDeclaration) | |
parseQualifiedRestOpt(call, methodDeclarationContinuation) | |
parseMethodTypeVar(call) | |
listener: handleNoTypeVariables(() | |
parseGetterOrFormalParameters(call, call, false, MemberKind.NonStaticMethod) | |
parseFormalParameters(call, MemberKind.NonStaticMethod) | |
parseFormalParametersRest((, MemberKind.NonStaticMethod) | |
listener: beginFormalParameters((, MemberKind.NonStaticMethod) | |
listener: endFormalParameters(0, (, ), MemberKind.NonStaticMethod) | |
parseInitializersOpt()) | |
listener: handleNoInitializers() | |
parseAsyncModifierOpt()) | |
listener: handleAsyncModifier(null, null) | |
inPlainSync() | |
inPlainSync() | |
parseFunctionBody(), false, true) | |
listener: beginBlockFunctionBody({) | |
notEofOrValue(}, }) | |
listener: endBlockFunctionBody(0, {, }) | |
listener: endClassMethod(null, call, (, null, }) | |
listener: endMember() | |
notEofOrValue(}, test) | |
parseClassOrMixinOrExtensionOrEnumMemberImpl(}, DeclarationKind.Class, Class) | |
parseMetadataStar(}) | |
listener: beginMetadataStar(test) | |
listener: endMetadataStar(0) | |
listener: beginMember() | |
isReservedKeyword(() | |
parseMethod(}, null, null, null, null, null, null, null, }, Instance of 'NoType', null, test, DeclarationKind.Class, Class, false) | |
listener: beginMethod(DeclarationKind.Class, null, null, null, null, null, null, test) | |
listener: handleNoType(}) | |
ensureIdentifierPotentiallyRecovered(}, methodDeclaration, false) | |
listener: handleIdentifier(test, methodDeclaration) | |
parseQualifiedRestOpt(test, methodDeclarationContinuation) | |
parseMethodTypeVar(test) | |
listener: handleNoTypeVariables(() | |
parseGetterOrFormalParameters(test, test, false, MemberKind.NonStaticMethod) | |
parseFormalParameters(test, MemberKind.NonStaticMethod) | |
parseFormalParametersRest((, MemberKind.NonStaticMethod) | |
listener: beginFormalParameters((, MemberKind.NonStaticMethod) | |
parseFormalParameter((, FormalParameterKind.requiredPositional, MemberKind.NonStaticMethod) | |
parseMetadataStar(() | |
listener: beginMetadataStar(o) | |
listener: endMetadataStar(0) | |
listener: beginFormalParameter(o, MemberKind.NonStaticMethod, null, null, null) | |
listener: handleNoType(() | |
ensureIdentifier((, formalParameterDeclaration) | |
listener: handleIdentifier(o, formalParameterDeclaration) | |
listener: handleFormalParameterWithoutValue()) | |
listener: endFormalParameter(null, null, null, o, null, null, FormalParameterKind.requiredPositional, MemberKind.NonStaticMethod) | |
listener: endFormalParameters(1, (, ), MemberKind.NonStaticMethod) | |
parseInitializersOpt()) | |
listener: handleNoInitializers() | |
parseAsyncModifierOpt()) | |
listener: handleAsyncModifier(async, null) | |
inPlainSync() | |
inPlainSync() | |
parseFunctionBody(async, false, false) | |
listener: beginBlockFunctionBody({) | |
notEofOrValue(}, const) | |
parseStatement({) | |
parseStatementX({) | |
parseExpressionStatementOrConstDeclaration({) | |
parseExpressionStatementOrDeclarationAfterModifiers(const, {, null, const, Instance of 'SimpleType', null) | |
looksLikeLocalFunction(local) | |
listener: beginMetadataStar(const) | |
listener: endMetadataStar(0) | |
listener: handleIdentifier(dynamic, typeReference) | |
listener: handleNoTypeArguments(local) | |
listener: handleType(dynamic, null) | |
listener: beginVariablesDeclaration(local, null, const) | |
parseVariablesDeclarationRest(dynamic, true) | |
parseOptionallyInitializedIdentifier(dynamic) | |
ensureIdentifier(dynamic, localVariableDeclaration) | |
listener: handleIdentifier(local, localVariableDeclaration) | |
listener: beginInitializedIdentifier(local) | |
parseVariableInitializerOpt(local) | |
listener: beginVariableInitializer(=) | |
parseExpression(=) | |
looksLikeOuterPatternEquals(=) | |
skipOuterPattern(=) | |
parsePrecedenceExpression(=, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(=, true, ConstantPatternContext.none) | |
parsePrimary(=, expression, ConstantPatternContext.none) | |
parseLiteralInt(=) | |
listener: handleLiteralInt(0) | |
listener: endVariableInitializer(=) | |
listener: endInitializedIdentifier(local) | |
ensureSemicolon(0) | |
listener: endVariablesDeclaration(1, ;) | |
notEofOrValue(}, dynamic) | |
parseStatement(;) | |
parseStatementX(;) | |
parseExpressionStatementOrDeclaration(;, null) | |
parseExpressionStatementOrDeclarationAfterModifiers(;, ;, null, null, null, null) | |
looksLikeLocalFunction(variable) | |
listener: beginMetadataStar(dynamic) | |
listener: endMetadataStar(0) | |
listener: handleIdentifier(dynamic, typeReference) | |
listener: handleNoTypeArguments(variable) | |
listener: handleType(dynamic, null) | |
listener: beginVariablesDeclaration(variable, null, null) | |
parseVariablesDeclarationRest(dynamic, true) | |
parseOptionallyInitializedIdentifier(dynamic) | |
ensureIdentifier(dynamic, localVariableDeclaration) | |
listener: handleIdentifier(variable, localVariableDeclaration) | |
listener: beginInitializedIdentifier(variable) | |
parseVariableInitializerOpt(variable) | |
listener: beginVariableInitializer(=) | |
parseExpression(=) | |
looksLikeOuterPatternEquals(=) | |
skipOuterPattern(=) | |
parsePrecedenceExpression(=, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(=, true, ConstantPatternContext.none) | |
parsePrimary(=, expression, ConstantPatternContext.none) | |
parseLiteralInt(=) | |
listener: handleLiteralInt(0) | |
listener: endVariableInitializer(=) | |
listener: endInitializedIdentifier(variable) | |
ensureSemicolon(0) | |
listener: endVariablesDeclaration(1, ;) | |
notEofOrValue(}, switch) | |
parseStatement(;) | |
parseStatementX(;) | |
parseSwitchStatement(;) | |
listener: beginSwitchStatement(switch) | |
ensureParenthesizedCondition(switch, allowCase: false) | |
parseExpressionInParenthesisRest((, allowCase: false) | |
parseExpression(() | |
looksLikeOuterPatternEquals(() | |
skipOuterPattern(() | |
skipObjectPatternRest(o) | |
parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression((, true, ConstantPatternContext.none) | |
parsePrimary((, expression, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral((, expression) | |
parseSend((, expression) | |
isNextIdentifier(() | |
ensureIdentifier((, expression) | |
listener: handleIdentifier(o, expression) | |
listener: handleNoTypeArguments()) | |
parseArgumentsOpt(o) | |
listener: handleNoArguments()) | |
listener: handleSend(o, )) | |
ensureCloseParen(o, () | |
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) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
parseLiteralBool(case) | |
listener: handleLiteralBool(true) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(true) | |
ensureColon(true) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
parseLiteralNull(case) | |
listener: handleLiteralNull(null) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(null) | |
ensureColon(null) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
parseThisExpression(case, expression) | |
listener: handleThisExpression(this, expression) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(this) | |
ensureColon(this) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
parseThisExpression(case, expression) | |
listener: handleThisExpression(this, expression) | |
listener: handleNoTypeArguments(() | |
parseArguments(this) | |
parseArgumentsRest(() | |
listener: beginArguments(() | |
listener: endArguments(0, (, )) | |
listener: handleSend(this, :) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
parseSuperExpression(case, expression) | |
listener: handleSuperExpression(super, expression) | |
listener: handleNoTypeArguments(() | |
parseArguments(super) | |
parseArgumentsRest(() | |
listener: beginArguments(() | |
listener: endArguments(0, (, )) | |
listener: handleSend(super, :) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
parseLiteralInt(case) | |
listener: handleLiteralInt(42) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(42) | |
ensureColon(42) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrecedenceExpression(-, 16, false, ConstantPatternContext.numericLiteralOnly) | |
parseUnaryExpression(-, false, ConstantPatternContext.numericLiteralOnly) | |
parsePrimary(-, expression, ConstantPatternContext.numericLiteralOnly) | |
parseLiteralInt(-) | |
listener: handleLiteralInt(42) | |
listener: handleUnaryPrefixExpression(-) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(42) | |
ensureColon(42) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
parseLiteralDouble(case) | |
listener: handleLiteralDouble(42.5) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(42.5) | |
ensureColon(42.5) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrecedenceExpression(-, 16, false, ConstantPatternContext.numericLiteralOnly) | |
parseUnaryExpression(-, false, ConstantPatternContext.numericLiteralOnly) | |
parsePrimary(-, expression, ConstantPatternContext.numericLiteralOnly) | |
parseLiteralDouble(-) | |
listener: handleLiteralDouble(42.5) | |
listener: handleUnaryPrefixExpression(-) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(42.5) | |
ensureColon(42.5) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
parseLiteralString(case) | |
parseSingleLiteralString(case) | |
listener: beginLiteralString('foo') | |
listener: endLiteralString(0, :) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause('foo') | |
ensureColon('foo') | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
parseLiteralString(case) | |
parseSingleLiteralString(case) | |
listener: beginLiteralString('foo') | |
listener: endLiteralString(0, 'bar') | |
parseSingleLiteralString('foo') | |
listener: beginLiteralString('bar') | |
listener: endLiteralString(0, :) | |
listener: handleStringJuxtaposition(case, 2) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause('bar') | |
ensureColon('bar') | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
parseSendOrFunctionLiteral(case, expression) | |
parseSend(case, expression) | |
isNextIdentifier(case) | |
ensureIdentifier(case, expression) | |
listener: handleIdentifier(value, expression) | |
listener: handleNoTypeArguments(:) | |
parseArgumentsOpt(value) | |
listener: handleNoArguments(:) | |
listener: handleSend(value, :) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(value) | |
ensureColon(value) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrecedenceExpression(-, 16, false, ConstantPatternContext.numericLiteralOnly) | |
parseUnaryExpression(-, false, ConstantPatternContext.numericLiteralOnly) | |
parsePrimary(-, expression, ConstantPatternContext.numericLiteralOnly) | |
reportRecoverableError(value, InvalidConstantPatternNegation) | |
listener: handleRecoverableError(InvalidConstantPatternNegation, value, value) | |
parseSendOrFunctionLiteral(-, expression) | |
parseSend(-, expression) | |
isNextIdentifier(-) | |
ensureIdentifier(-, expression) | |
listener: handleIdentifier(value, expression) | |
listener: handleNoTypeArguments(:) | |
parseArgumentsOpt(value) | |
listener: handleNoArguments(:) | |
listener: handleSend(value, :) | |
listener: handleUnaryPrefixExpression(-) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(value) | |
ensureColon(value) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
parseSendOrFunctionLiteral(case, expression) | |
parseSend(case, expression) | |
isNextIdentifier(case) | |
ensureIdentifier(case, expression) | |
listener: handleIdentifier(local, expression) | |
listener: handleNoTypeArguments(:) | |
parseArgumentsOpt(local) | |
listener: handleNoArguments(:) | |
listener: handleSend(local, :) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(local) | |
ensureColon(local) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrecedenceExpression(-, 16, false, ConstantPatternContext.numericLiteralOnly) | |
parseUnaryExpression(-, false, ConstantPatternContext.numericLiteralOnly) | |
parsePrimary(-, expression, ConstantPatternContext.numericLiteralOnly) | |
reportRecoverableError(local, InvalidConstantPatternNegation) | |
listener: handleRecoverableError(InvalidConstantPatternNegation, local, local) | |
parseSendOrFunctionLiteral(-, expression) | |
parseSend(-, expression) | |
isNextIdentifier(-) | |
ensureIdentifier(-, expression) | |
listener: handleIdentifier(local, expression) | |
listener: handleNoTypeArguments(:) | |
parseArgumentsOpt(local) | |
listener: handleNoArguments(:) | |
listener: handleSend(local, :) | |
listener: handleUnaryPrefixExpression(-) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(local) | |
ensureColon(local) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
parseSendOrFunctionLiteral(case, expression) | |
parseSend(case, expression) | |
isNextIdentifier(case) | |
ensureIdentifier(case, expression) | |
listener: handleIdentifier(func, expression) | |
listener: handleNoTypeArguments(:) | |
parseArgumentsOpt(func) | |
listener: handleNoArguments(:) | |
listener: handleSend(func, :) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(func) | |
ensureColon(func) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
parseSendOrFunctionLiteral(case, expression) | |
parseSend(case, expression) | |
isNextIdentifier(case) | |
ensureIdentifier(case, expression) | |
listener: handleIdentifier(prefix, expression) | |
listener: handleNoTypeArguments(.) | |
parseArgumentsOpt(prefix) | |
listener: handleNoArguments(.) | |
listener: handleSend(prefix, .) | |
parsePrimary(., expressionContinuation, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral(., expressionContinuation) | |
parseSend(., expressionContinuation) | |
isNextIdentifier(.) | |
ensureIdentifier(., expressionContinuation) | |
listener: handleIdentifier(value, expressionContinuation) | |
listener: handleNoTypeArguments(:) | |
parseArgumentsOpt(value) | |
listener: handleNoArguments(:) | |
listener: handleSend(value, :) | |
listener: handleEndingBinaryExpression(.) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(value) | |
ensureColon(value) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrecedenceExpression(-, 16, false, ConstantPatternContext.numericLiteralOnly) | |
parseUnaryExpression(-, false, ConstantPatternContext.numericLiteralOnly) | |
parsePrimary(-, expression, ConstantPatternContext.numericLiteralOnly) | |
reportRecoverableError(prefix, InvalidConstantPatternNegation) | |
listener: handleRecoverableError(InvalidConstantPatternNegation, prefix, prefix) | |
parseSendOrFunctionLiteral(-, expression) | |
parseSend(-, expression) | |
isNextIdentifier(-) | |
ensureIdentifier(-, expression) | |
listener: handleIdentifier(prefix, expression) | |
listener: handleNoTypeArguments(.) | |
parseArgumentsOpt(prefix) | |
listener: handleNoArguments(.) | |
listener: handleSend(prefix, .) | |
parsePrimary(., expressionContinuation, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral(., expressionContinuation) | |
parseSend(., expressionContinuation) | |
isNextIdentifier(.) | |
ensureIdentifier(., expressionContinuation) | |
listener: handleIdentifier(value, expressionContinuation) | |
listener: handleNoTypeArguments(:) | |
parseArgumentsOpt(value) | |
listener: handleNoArguments(:) | |
listener: handleSend(value, :) | |
listener: handleEndingBinaryExpression(.) | |
listener: handleUnaryPrefixExpression(-) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(value) | |
ensureColon(value) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
parseLiteralInt(case) | |
listener: handleLiteralInt(1) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(1) | |
ensureColon(1) | |
rewriteAndRecover(1, Message[ExpectedButGot, Expected ':' before this., null, {string: :}], :) | |
reportRecoverableError(+, Message[ExpectedButGot, Expected ':' before this., null, {string: :}]) | |
listener: handleRecoverableError(Message[ExpectedButGot, Expected ':' before this., null, {string: :}], +, +) | |
rewriter() | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(+) | |
parseStatementsInSwitchCase(:, +, case, 0, 19, null, null) | |
listener: beginSwitchCase(0, 19, case) | |
parseStatement(:) | |
parseStatementX(:) | |
parseExpressionStatementOrDeclaration(:, null) | |
parseExpressionStatementOrDeclarationAfterModifiers(:, :, null, null, null, null) | |
looksLikeLocalFunction(+) | |
parseExpressionStatement(:) | |
parseExpression(:) | |
looksLikeOuterPatternEquals(:) | |
skipOuterPattern(:) | |
parsePrecedenceExpression(:, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(:, true, ConstantPatternContext.none) | |
rewriteAndRecover(:, UnsupportedPrefixPlus, ) | |
reportRecoverableError(+, UnsupportedPrefixPlus) | |
listener: handleRecoverableError(UnsupportedPrefixPlus, +, +) | |
rewriter() | |
parsePrimary(:, expression, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral(:, expression) | |
parseSend(:, expression) | |
isNextIdentifier(:) | |
ensureIdentifier(:, expression) | |
listener: handleIdentifier(, expression) | |
listener: handleNoTypeArguments(+) | |
parseArgumentsOpt() | |
listener: handleNoArguments(+) | |
listener: handleSend(, +) | |
listener: beginBinaryExpression(+) | |
parsePrecedenceExpression(+, 14, true, ConstantPatternContext.none) | |
parseUnaryExpression(+, true, ConstantPatternContext.none) | |
parsePrimary(+, expression, ConstantPatternContext.none) | |
parseLiteralInt(+) | |
listener: handleLiteralInt(2) | |
listener: endBinaryExpression(+) | |
ensureSemicolon(2) | |
reportRecoverableError(2, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}]) | |
listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], 2, 2) | |
rewriter() | |
listener: handleExpressionStatement(;) | |
peekPastLabels(:) | |
parseStatement(;) | |
parseStatementX(;) | |
parseExpressionStatementOrDeclaration(;, null) | |
parseExpressionStatementOrDeclarationAfterModifiers(;, ;, null, null, null, null) | |
looksLikeLocalFunction(:) | |
parseExpressionStatement(;) | |
parseExpression(;) | |
looksLikeOuterPatternEquals(;) | |
skipOuterPattern(;) | |
parsePrecedenceExpression(;, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(;, true, ConstantPatternContext.none) | |
parsePrimary(;, expression, ConstantPatternContext.none) | |
parseSend(;, expression) | |
isNextIdentifier(;) | |
ensureIdentifier(;, expression) | |
reportRecoverableErrorWithToken(:, Instance of 'Template<(Token) => Message>') | |
listener: handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got ':'., Try inserting an identifier before ':'., {lexeme: :}], :, :) | |
rewriter() | |
listener: handleIdentifier(, expression) | |
listener: handleNoTypeArguments(:) | |
parseArgumentsOpt() | |
listener: handleNoArguments(:) | |
listener: handleSend(, :) | |
ensureSemicolon() | |
reportRecoverableError(2, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}]) | |
listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], 2, 2) | |
rewriter() | |
listener: handleExpressionStatement(;) | |
reportRecoverableError(:, Message[UnexpectedToken, Unexpected token ':'., null, {lexeme: :}]) | |
listener: handleRecoverableError(Message[UnexpectedToken, Unexpected token ':'., null, {lexeme: :}], :, :) | |
peekPastLabels(case) | |
listener: endSwitchCase(0, 19, null, null, 2, case, case) | |
notEofOrValue(}, case) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
parseLiteralInt(case) | |
listener: handleLiteralInt(1) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(1) | |
ensureColon(1) | |
rewriteAndRecover(1, Message[ExpectedButGot, Expected ':' before this., null, {string: :}], :) | |
reportRecoverableError(*, Message[ExpectedButGot, Expected ':' before this., null, {string: :}]) | |
listener: handleRecoverableError(Message[ExpectedButGot, Expected ':' before this., null, {string: :}], *, *) | |
rewriter() | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(*) | |
parseStatementsInSwitchCase(:, *, case, 0, 1, null, null) | |
listener: beginSwitchCase(0, 1, case) | |
parseStatement(:) | |
parseStatementX(:) | |
parseExpressionStatementOrDeclaration(:, null) | |
parseExpressionStatementOrDeclarationAfterModifiers(:, :, null, null, null, null) | |
looksLikeLocalFunction(*) | |
parseExpressionStatement(:) | |
parseExpression(:) | |
looksLikeOuterPatternEquals(:) | |
skipOuterPattern(:) | |
parsePrecedenceExpression(:, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(:, true, ConstantPatternContext.none) | |
parsePrimary(:, expression, ConstantPatternContext.none) | |
parseSend(:, expression) | |
isNextIdentifier(:) | |
ensureIdentifier(:, expression) | |
reportRecoverableErrorWithToken(*, Instance of 'Template<(Token) => Message>') | |
listener: handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got '*'., Try inserting an identifier before '*'., {lexeme: *}], *, *) | |
rewriter() | |
listener: handleIdentifier(, expression) | |
listener: handleNoTypeArguments(*) | |
parseArgumentsOpt() | |
listener: handleNoArguments(*) | |
listener: handleSend(, *) | |
listener: beginBinaryExpression(*) | |
parsePrecedenceExpression(*, 15, true, ConstantPatternContext.none) | |
parseUnaryExpression(*, true, ConstantPatternContext.none) | |
parsePrimary(*, expression, ConstantPatternContext.none) | |
parseLiteralInt(*) | |
listener: handleLiteralInt(2) | |
listener: endBinaryExpression(*) | |
ensureSemicolon(2) | |
reportRecoverableError(2, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}]) | |
listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], 2, 2) | |
rewriter() | |
listener: handleExpressionStatement(;) | |
peekPastLabels(:) | |
parseStatement(;) | |
parseStatementX(;) | |
parseExpressionStatementOrDeclaration(;, null) | |
parseExpressionStatementOrDeclarationAfterModifiers(;, ;, null, null, null, null) | |
looksLikeLocalFunction(:) | |
parseExpressionStatement(;) | |
parseExpression(;) | |
looksLikeOuterPatternEquals(;) | |
skipOuterPattern(;) | |
parsePrecedenceExpression(;, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(;, true, ConstantPatternContext.none) | |
parsePrimary(;, expression, ConstantPatternContext.none) | |
parseSend(;, expression) | |
isNextIdentifier(;) | |
ensureIdentifier(;, expression) | |
reportRecoverableErrorWithToken(:, Instance of 'Template<(Token) => Message>') | |
listener: handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got ':'., Try inserting an identifier before ':'., {lexeme: :}], :, :) | |
rewriter() | |
listener: handleIdentifier(, expression) | |
listener: handleNoTypeArguments(:) | |
parseArgumentsOpt() | |
listener: handleNoArguments(:) | |
listener: handleSend(, :) | |
ensureSemicolon() | |
reportRecoverableError(2, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}]) | |
listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], 2, 2) | |
rewriter() | |
listener: handleExpressionStatement(;) | |
reportRecoverableError(:, Message[UnexpectedToken, Unexpected token ':'., null, {lexeme: :}]) | |
listener: handleRecoverableError(Message[UnexpectedToken, Unexpected token ':'., null, {lexeme: :}], :, :) | |
peekPastLabels(case) | |
listener: endSwitchCase(0, 1, null, null, 2, case, case) | |
notEofOrValue(}, case) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'VoidType') | |
listener: handleVoidKeyword(void) | |
listener: handleVariablePattern(null, fun, false) | |
listener: handleSwitchCaseNoWhenClause(fun) | |
ensureColon(fun) | |
rewriteAndRecover(fun, Message[ExpectedButGot, Expected ':' before this., null, {string: :}], :) | |
reportRecoverableError((, Message[ExpectedButGot, Expected ':' before this., null, {string: :}]) | |
listener: handleRecoverableError(Message[ExpectedButGot, Expected ':' before this., null, {string: :}], (, () | |
rewriter() | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(() | |
parseStatementsInSwitchCase(:, (, case, 0, 1, null, null) | |
listener: beginSwitchCase(0, 1, case) | |
parseStatement(:) | |
parseStatementX(:) | |
parseExpressionStatementOrDeclaration(:, null) | |
parseExpressionStatementOrDeclarationAfterModifiers(:, :, null, null, null, null) | |
looksLikeLocalFunction(() | |
parseExpressionStatement(:) | |
parseExpression(:) | |
looksLikeOuterPatternEquals(:) | |
skipOuterPattern(:) | |
parsePrecedenceExpression(:, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(:, true, ConstantPatternContext.none) | |
parsePrimary(:, expression, ConstantPatternContext.none) | |
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(:, ConstantPatternContext.none) | |
listener: handleNoTypeVariables(() | |
parseFunctionExpression(:) | |
listener: beginFunctionExpression(() | |
parseFormalParametersRequiredOpt(:, MemberKind.Local) | |
parseFormalParametersRest((, MemberKind.Local) | |
listener: beginFormalParameters((, MemberKind.Local) | |
listener: endFormalParameters(0, (, ), MemberKind.Local) | |
parseAsyncOptBody(), true, false) | |
parseAsyncModifierOpt()) | |
listener: handleAsyncModifier(null, null) | |
inPlainSync() | |
parseFunctionBody(), true, false) | |
listener: beginBlockFunctionBody({) | |
notEofOrValue(}, }) | |
listener: endBlockFunctionBody(0, {, }) | |
listener: endFunctionExpression((, :) | |
ensureSemicolon(}) | |
reportRecoverableError(}, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}]) | |
listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], }, }) | |
rewriter() | |
listener: handleExpressionStatement(;) | |
peekPastLabels(:) | |
parseStatement(;) | |
parseStatementX(;) | |
parseExpressionStatementOrDeclaration(;, null) | |
parseExpressionStatementOrDeclarationAfterModifiers(;, ;, null, null, null, null) | |
looksLikeLocalFunction(:) | |
parseExpressionStatement(;) | |
parseExpression(;) | |
looksLikeOuterPatternEquals(;) | |
skipOuterPattern(;) | |
parsePrecedenceExpression(;, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(;, true, ConstantPatternContext.none) | |
parsePrimary(;, expression, ConstantPatternContext.none) | |
parseSend(;, expression) | |
isNextIdentifier(;) | |
ensureIdentifier(;, expression) | |
reportRecoverableErrorWithToken(:, Instance of 'Template<(Token) => Message>') | |
listener: handleRecoverableError(Message[ExpectedIdentifier, Expected an identifier, but got ':'., Try inserting an identifier before ':'., {lexeme: :}], :, :) | |
rewriter() | |
listener: handleIdentifier(, expression) | |
listener: handleNoTypeArguments(:) | |
parseArgumentsOpt() | |
listener: handleNoArguments(:) | |
listener: handleSend(, :) | |
ensureSemicolon() | |
reportRecoverableError(}, Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}]) | |
listener: handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], }, }) | |
rewriter() | |
listener: handleExpressionStatement(;) | |
reportRecoverableError(:, Message[UnexpectedToken, Unexpected token ':'., null, {lexeme: :}]) | |
listener: handleRecoverableError(Message[UnexpectedToken, Unexpected token ':'., null, {lexeme: :}], :, :) | |
peekPastLabels(case) | |
listener: endSwitchCase(0, 1, null, null, 2, case, case) | |
notEofOrValue(}, case) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
inPlainSync() | |
parseAssert(case, Assert.Expression) | |
listener: beginAssert(assert, Assert.Expression) | |
parseExpression(() | |
looksLikeOuterPatternEquals(() | |
skipOuterPattern(() | |
parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression((, true, ConstantPatternContext.none) | |
parsePrimary((, expression, ConstantPatternContext.none) | |
parseLiteralBool(() | |
listener: handleLiteralBool(false) | |
reportRecoverableError(assert, AssertAsExpression) | |
listener: handleRecoverableError(AssertAsExpression, assert, assert) | |
listener: endAssert(assert, Assert.Expression, (, null, :) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
inPlainSync() | |
parseSwitchExpression(case) | |
listener: beginSwitchExpression(switch) | |
ensureParenthesizedCondition(switch, allowCase: false) | |
parseExpressionInParenthesisRest((, allowCase: false) | |
parseExpression(() | |
looksLikeOuterPatternEquals(() | |
skipOuterPattern(() | |
skipObjectPatternRest(o) | |
parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression((, true, ConstantPatternContext.none) | |
parsePrimary((, expression, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral((, expression) | |
parseSend((, expression) | |
isNextIdentifier(() | |
ensureIdentifier((, expression) | |
listener: handleIdentifier(o, expression) | |
listener: handleNoTypeArguments()) | |
parseArgumentsOpt(o) | |
listener: handleNoArguments()) | |
listener: handleSend(o, )) | |
ensureCloseParen(o, () | |
listener: handleParenthesizedCondition((, null, null) | |
ensureBlock(), null, switch expression) | |
listener: beginSwitchExpressionBlock({) | |
listener: beginSwitchExpressionCase() | |
parsePattern({, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern({, PatternContext.matching) | |
parseVariablePattern({, PatternContext.matching, typeInfo: Instance of 'NoType') | |
listener: handleNoType({) | |
listener: handleVariablePattern(null, _, false) | |
listener: handleSwitchExpressionCasePattern(_) | |
ensureFunctionArrow(_) | |
parseExpression(=>) | |
looksLikeOuterPatternEquals(=>) | |
skipOuterPattern(=>) | |
parsePrecedenceExpression(=>, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(=>, true, ConstantPatternContext.none) | |
parsePrimary(=>, expression, ConstantPatternContext.none) | |
parseLiteralBool(=>) | |
listener: handleLiteralBool(true) | |
listener: endSwitchExpressionCase(null, =>, true) | |
listener: endSwitchExpressionBlock(1, {, }) | |
listener: endSwitchExpression(switch, }) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(}) | |
ensureColon(}) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
inPlainSync() | |
parseAwaitExpression(case, false) | |
listener: beginAwaitExpression(await) | |
parsePrecedenceExpression(await, 16, false, ConstantPatternContext.none) | |
parseUnaryExpression(await, false, ConstantPatternContext.none) | |
parsePrimary(await, expression, ConstantPatternContext.none) | |
parseLiteralInt(await) | |
listener: handleLiteralInt(0) | |
inAsync() | |
listener: endAwaitExpression(await, :) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(0) | |
ensureColon(0) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
reportRecoverableError(!, Message[InvalidConstantPatternUnary, The unary operator ! is not supported as a constant pattern., Try wrapping the expression in 'const ( ... )'., {name: !}]) | |
listener: handleRecoverableError(Message[InvalidConstantPatternUnary, The unary operator ! is not supported as a constant pattern., Try wrapping the expression in 'const ( ... )'., {name: !}], !, !) | |
parsePrecedenceExpression(!, 16, false, ConstantPatternContext.none) | |
parseUnaryExpression(!, false, ConstantPatternContext.none) | |
parsePrimary(!, expression, ConstantPatternContext.none) | |
parseLiteralBool(!) | |
listener: handleLiteralBool(false) | |
listener: handleUnaryPrefixExpression(!) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(false) | |
ensureColon(false) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
reportRecoverableError(~, Message[InvalidConstantPatternUnary, The unary operator ~ is not supported as a constant pattern., Try wrapping the expression in 'const ( ... )'., {name: ~}]) | |
listener: handleRecoverableError(Message[InvalidConstantPatternUnary, The unary operator ~ is not supported as a constant pattern., Try wrapping the expression in 'const ( ... )'., {name: ~}], ~, ~) | |
parsePrecedenceExpression(~, 16, false, ConstantPatternContext.none) | |
parseUnaryExpression(~, false, ConstantPatternContext.none) | |
parsePrimary(~, expression, ConstantPatternContext.none) | |
parseLiteralInt(~) | |
listener: handleLiteralInt(0) | |
listener: handleUnaryPrefixExpression(~) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(0) | |
ensureColon(0) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrecedenceExpression(++, 16, false, ConstantPatternContext.none) | |
parseUnaryExpression(++, false, ConstantPatternContext.none) | |
parsePrimary(++, expression, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral(++, expression) | |
parseSend(++, expression) | |
isNextIdentifier(++) | |
ensureIdentifier(++, expression) | |
listener: handleIdentifier(variable, expression) | |
listener: handleNoTypeArguments(:) | |
parseArgumentsOpt(variable) | |
listener: handleNoArguments(:) | |
listener: handleSend(variable, :) | |
listener: handleUnaryPrefixAssignmentExpression(++) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(variable) | |
ensureColon(variable) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
parseSendOrFunctionLiteral(const, expression) | |
looksLikeFunctionBody(:) | |
parseSend(const, expression) | |
isNextIdentifier(const) | |
ensureIdentifier(const, expression) | |
listener: handleIdentifier(Class, expression) | |
listener: handleNoTypeArguments(() | |
parseArgumentsOpt(Class) | |
parseArguments(Class) | |
parseArgumentsRest(() | |
listener: beginArguments(() | |
listener: endArguments(0, (, )) | |
listener: handleSend(Class, :) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
parseSendOrFunctionLiteral(const, expression) | |
looksLikeFunctionBody(:) | |
parseSend(const, expression) | |
isNextIdentifier(const) | |
ensureIdentifier(const, expression) | |
listener: handleIdentifier(Class, expression) | |
listener: handleNoTypeArguments(() | |
parseArgumentsOpt(Class) | |
parseArguments(Class) | |
parseArgumentsRest(() | |
listener: beginArguments(() | |
parseExpression(() | |
looksLikeOuterPatternEquals(() | |
skipOuterPattern(() | |
parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression((, true, ConstantPatternContext.none) | |
parsePrimary((, expression, ConstantPatternContext.none) | |
parseLiteralInt(() | |
listener: handleLiteralInt(0) | |
listener: endArguments(1, (, )) | |
listener: handleSend(Class, :) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
parseSendOrFunctionLiteral(const, expression) | |
looksLikeFunctionBody(:) | |
parseSend(const, expression) | |
isNextIdentifier(const) | |
ensureIdentifier(const, expression) | |
listener: handleIdentifier(GenericClass, expression) | |
listener: handleNoTypeArguments(() | |
parseArgumentsOpt(GenericClass) | |
parseArguments(GenericClass) | |
parseArgumentsRest(() | |
listener: beginArguments(() | |
listener: endArguments(0, (, )) | |
listener: handleSend(GenericClass, :) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
parseSendOrFunctionLiteral(const, expression) | |
looksLikeFunctionBody(:) | |
parseSend(const, expression) | |
isNextIdentifier(const) | |
ensureIdentifier(const, expression) | |
listener: handleIdentifier(GenericClass, expression) | |
listener: handleNoTypeArguments(() | |
parseArgumentsOpt(GenericClass) | |
parseArguments(GenericClass) | |
parseArgumentsRest(() | |
listener: beginArguments(() | |
ensureIdentifier((, namedArgumentReference) | |
listener: handleIdentifier(a, namedArgumentReference) | |
parseExpression(:) | |
looksLikeOuterPatternEquals(:) | |
skipOuterPattern(:) | |
parsePrecedenceExpression(:, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(:, true, ConstantPatternContext.none) | |
parsePrimary(:, expression, ConstantPatternContext.none) | |
parseLiteralInt(:) | |
listener: handleLiteralInt(0) | |
listener: handleNamedArgument(:) | |
listener: endArguments(1, (, )) | |
listener: handleSend(GenericClass, :) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
parseSendOrFunctionLiteral(const, expression) | |
looksLikeFunctionBody(:) | |
parseSend(const, expression) | |
isNextIdentifier(const) | |
ensureIdentifier(const, expression) | |
listener: handleIdentifier(GenericClass, expression) | |
listener: beginTypeArguments(<) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments(>) | |
listener: handleType(int, null) | |
listener: endTypeArguments(1, <, >) | |
parseArgumentsOpt(>) | |
parseArguments(>) | |
parseArgumentsRest(() | |
listener: beginArguments(() | |
listener: endArguments(0, (, )) | |
listener: handleSend(GenericClass, :) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
parseSendOrFunctionLiteral(const, expression) | |
looksLikeFunctionBody(:) | |
parseSend(const, expression) | |
isNextIdentifier(const) | |
ensureIdentifier(const, expression) | |
listener: handleIdentifier(GenericClass, expression) | |
listener: beginTypeArguments(<) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments(>) | |
listener: handleType(int, null) | |
listener: endTypeArguments(1, <, >) | |
parseArgumentsOpt(>) | |
parseArguments(>) | |
parseArgumentsRest(() | |
listener: beginArguments(() | |
ensureIdentifier((, namedArgumentReference) | |
listener: handleIdentifier(a, namedArgumentReference) | |
parseExpression(:) | |
looksLikeOuterPatternEquals(:) | |
skipOuterPattern(:) | |
parsePrecedenceExpression(:, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(:, true, ConstantPatternContext.none) | |
parsePrimary(:, expression, ConstantPatternContext.none) | |
parseLiteralInt(:) | |
listener: handleLiteralInt(0) | |
listener: handleNamedArgument(:) | |
listener: endArguments(1, (, )) | |
listener: handleSend(GenericClass, :) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parseImplicitCreationExpression(const, <, Instance of 'SimpleTypeArgument1') | |
listener: beginImplicitCreationExpression(GenericClass) | |
parseConstructorReference(const, ConstructorReferenceContext.Implicit, Instance of 'SimpleTypeArgument1') | |
ensureIdentifier(const, constructorReference) | |
listener: handleIdentifier(GenericClass, constructorReference) | |
listener: beginConstructorReference(GenericClass) | |
parseQualifiedRestOpt(GenericClass, constructorReferenceContinuation) | |
listener: beginTypeArguments(<) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments(>) | |
listener: handleType(int, null) | |
listener: endTypeArguments(1, <, >) | |
ensureIdentifier(., constructorReferenceContinuationAfterTypeArguments) | |
rewriter() | |
listener: handleNewAsIdentifier(new) | |
listener: handleIdentifier(new, constructorReferenceContinuationAfterTypeArguments) | |
listener: endConstructorReference(GenericClass, ., (, ConstructorReferenceContext.Implicit) | |
parseConstructorInvocationArguments(new) | |
parseArgumentsRest(() | |
listener: beginArguments(() | |
listener: endArguments(0, (, )) | |
listener: endImplicitCreationExpression(GenericClass, <) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parseImplicitCreationExpression(const, <, Instance of 'SimpleTypeArgument1') | |
listener: beginImplicitCreationExpression(GenericClass) | |
parseConstructorReference(const, ConstructorReferenceContext.Implicit, Instance of 'SimpleTypeArgument1') | |
ensureIdentifier(const, constructorReference) | |
listener: handleIdentifier(GenericClass, constructorReference) | |
listener: beginConstructorReference(GenericClass) | |
parseQualifiedRestOpt(GenericClass, constructorReferenceContinuation) | |
listener: beginTypeArguments(<) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments(>) | |
listener: handleType(int, null) | |
listener: endTypeArguments(1, <, >) | |
ensureIdentifier(., constructorReferenceContinuationAfterTypeArguments) | |
rewriter() | |
listener: handleNewAsIdentifier(new) | |
listener: handleIdentifier(new, constructorReferenceContinuationAfterTypeArguments) | |
listener: endConstructorReference(GenericClass, ., (, ConstructorReferenceContext.Implicit) | |
parseConstructorInvocationArguments(new) | |
parseArgumentsRest(() | |
listener: beginArguments(() | |
ensureIdentifier((, namedArgumentReference) | |
listener: handleIdentifier(a, namedArgumentReference) | |
parseExpression(:) | |
looksLikeOuterPatternEquals(:) | |
skipOuterPattern(:) | |
parsePrecedenceExpression(:, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(:, true, ConstantPatternContext.none) | |
parsePrimary(:, expression, ConstantPatternContext.none) | |
parseLiteralInt(:) | |
listener: handleLiteralInt(1) | |
listener: handleNamedArgument(:) | |
listener: endArguments(1, (, )) | |
listener: endImplicitCreationExpression(GenericClass, <) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
listener: handleNoTypeArguments([]) | |
parseLiteralListSuffix(const, null) | |
rewriteSquareBrackets(const) | |
link([, ]) | |
rewriter() | |
listener: handleLiteralList(0, [, null, ]) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause(]) | |
ensureColon(]) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
parseLiteralListSetMapOrFunction(const, null) | |
listener: beginTypeArguments(<) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments(>) | |
listener: handleType(int, null) | |
listener: endTypeArguments(1, <, >) | |
parseLiteralListSuffix(>, null) | |
rewriteSquareBrackets(>) | |
link([, ]) | |
rewriter() | |
listener: handleLiteralList(0, [, null, ]) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause(]) | |
ensureColon(]) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
listener: handleNoTypeArguments({) | |
parseLiteralSetOrMapSuffix(const, null) | |
listener: handleLiteralSetOrMap(0, {, null, }, false) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause(}) | |
ensureColon(}) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
parseLiteralListSetMapOrFunction(const, null) | |
listener: beginTypeArguments(<) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments(,) | |
listener: handleType(int, null) | |
listener: handleIdentifier(String, typeReference) | |
listener: handleNoTypeArguments(>) | |
listener: handleType(String, null) | |
listener: endTypeArguments(2, <, >) | |
parseLiteralSetOrMapSuffix(>, null) | |
listener: handleLiteralSetOrMap(0, {, null, }, false) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause(}) | |
ensureColon(}) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
reportRecoverableError(const, InvalidConstantPatternDuplicateConst) | |
listener: handleRecoverableError(InvalidConstantPatternDuplicateConst, const, const) | |
parseConstExpression(const) | |
listener: beginConstExpression(const) | |
parseConstructorReference(const, ConstructorReferenceContext.Const, null) | |
ensureIdentifier(const, constructorReference) | |
listener: handleIdentifier(Class, constructorReference) | |
listener: beginConstructorReference(Class) | |
parseQualifiedRestOpt(Class, constructorReferenceContinuation) | |
listener: handleNoTypeArguments(() | |
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(() | |
listener: endConstructorReference(Class, null, (, ConstructorReferenceContext.Const) | |
parseConstructorInvocationArguments(Class) | |
parseArgumentsRest(() | |
listener: beginArguments(() | |
listener: endArguments(0, (, )) | |
listener: endConstExpression(const) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
reportRecoverableError(const, InvalidConstantPatternDuplicateConst) | |
listener: handleRecoverableError(InvalidConstantPatternDuplicateConst, const, const) | |
parseConstExpression(const) | |
listener: beginConstExpression(const) | |
parseConstructorReference(const, ConstructorReferenceContext.Const, null) | |
ensureIdentifier(const, constructorReference) | |
listener: handleIdentifier(Class, constructorReference) | |
listener: beginConstructorReference(Class) | |
parseQualifiedRestOpt(Class, constructorReferenceContinuation) | |
listener: handleNoTypeArguments(() | |
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(() | |
listener: endConstructorReference(Class, null, (, ConstructorReferenceContext.Const) | |
parseConstructorInvocationArguments(Class) | |
parseArgumentsRest(() | |
listener: beginArguments(() | |
parseExpression(() | |
looksLikeOuterPatternEquals(() | |
skipOuterPattern(() | |
parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression((, true, ConstantPatternContext.none) | |
parsePrimary((, expression, ConstantPatternContext.none) | |
parseLiteralInt(() | |
listener: handleLiteralInt(0) | |
listener: endArguments(1, (, )) | |
listener: endConstExpression(const) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
reportRecoverableError(const, InvalidConstantPatternDuplicateConst) | |
listener: handleRecoverableError(InvalidConstantPatternDuplicateConst, const, const) | |
parseConstExpression(const) | |
listener: beginConstExpression(const) | |
parseConstructorReference(const, ConstructorReferenceContext.Const, null) | |
ensureIdentifier(const, constructorReference) | |
listener: handleIdentifier(GenericClass, constructorReference) | |
listener: beginConstructorReference(GenericClass) | |
parseQualifiedRestOpt(GenericClass, constructorReferenceContinuation) | |
listener: handleNoTypeArguments(() | |
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(() | |
listener: endConstructorReference(GenericClass, null, (, ConstructorReferenceContext.Const) | |
parseConstructorInvocationArguments(GenericClass) | |
parseArgumentsRest(() | |
listener: beginArguments(() | |
listener: endArguments(0, (, )) | |
listener: endConstExpression(const) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
reportRecoverableError(const, InvalidConstantPatternDuplicateConst) | |
listener: handleRecoverableError(InvalidConstantPatternDuplicateConst, const, const) | |
parseConstExpression(const) | |
listener: beginConstExpression(const) | |
parseConstructorReference(const, ConstructorReferenceContext.Const, null) | |
ensureIdentifier(const, constructorReference) | |
listener: handleIdentifier(GenericClass, constructorReference) | |
listener: beginConstructorReference(GenericClass) | |
parseQualifiedRestOpt(GenericClass, constructorReferenceContinuation) | |
listener: handleNoTypeArguments(() | |
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(() | |
listener: endConstructorReference(GenericClass, null, (, ConstructorReferenceContext.Const) | |
parseConstructorInvocationArguments(GenericClass) | |
parseArgumentsRest(() | |
listener: beginArguments(() | |
ensureIdentifier((, namedArgumentReference) | |
listener: handleIdentifier(a, namedArgumentReference) | |
parseExpression(:) | |
looksLikeOuterPatternEquals(:) | |
skipOuterPattern(:) | |
parsePrecedenceExpression(:, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(:, true, ConstantPatternContext.none) | |
parsePrimary(:, expression, ConstantPatternContext.none) | |
parseLiteralInt(:) | |
listener: handleLiteralInt(0) | |
listener: handleNamedArgument(:) | |
listener: endArguments(1, (, )) | |
listener: endConstExpression(const) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
reportRecoverableError(const, InvalidConstantPatternDuplicateConst) | |
listener: handleRecoverableError(InvalidConstantPatternDuplicateConst, const, const) | |
parseConstExpression(const) | |
listener: beginConstExpression(const) | |
parseConstructorReference(const, ConstructorReferenceContext.Const, null) | |
ensureIdentifier(const, constructorReference) | |
listener: handleIdentifier(GenericClass, constructorReference) | |
listener: beginConstructorReference(GenericClass) | |
parseQualifiedRestOpt(GenericClass, constructorReferenceContinuation) | |
listener: beginTypeArguments(<) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments(>) | |
listener: handleType(int, null) | |
listener: endTypeArguments(1, <, >) | |
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(() | |
listener: endConstructorReference(GenericClass, null, (, ConstructorReferenceContext.Const) | |
parseConstructorInvocationArguments(>) | |
parseArgumentsRest(() | |
listener: beginArguments(() | |
listener: endArguments(0, (, )) | |
listener: endConstExpression(const) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
reportRecoverableError(const, InvalidConstantPatternDuplicateConst) | |
listener: handleRecoverableError(InvalidConstantPatternDuplicateConst, const, const) | |
parseConstExpression(const) | |
listener: beginConstExpression(const) | |
parseConstructorReference(const, ConstructorReferenceContext.Const, null) | |
ensureIdentifier(const, constructorReference) | |
listener: handleIdentifier(GenericClass, constructorReference) | |
listener: beginConstructorReference(GenericClass) | |
parseQualifiedRestOpt(GenericClass, constructorReferenceContinuation) | |
listener: beginTypeArguments(<) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments(>) | |
listener: handleType(int, null) | |
listener: endTypeArguments(1, <, >) | |
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(() | |
listener: endConstructorReference(GenericClass, null, (, ConstructorReferenceContext.Const) | |
parseConstructorInvocationArguments(>) | |
parseArgumentsRest(() | |
listener: beginArguments(() | |
ensureIdentifier((, namedArgumentReference) | |
listener: handleIdentifier(a, namedArgumentReference) | |
parseExpression(:) | |
looksLikeOuterPatternEquals(:) | |
skipOuterPattern(:) | |
parsePrecedenceExpression(:, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression(:, true, ConstantPatternContext.none) | |
parsePrimary(:, expression, ConstantPatternContext.none) | |
parseLiteralInt(:) | |
listener: handleLiteralInt(0) | |
listener: handleNamedArgument(:) | |
listener: endArguments(1, (, )) | |
listener: endConstExpression(const) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
reportRecoverableError(const, InvalidConstantPatternDuplicateConst) | |
listener: handleRecoverableError(InvalidConstantPatternDuplicateConst, const, const) | |
parseConstExpression(const) | |
listener: beginConstLiteral([]) | |
listener: handleNoTypeArguments([]) | |
parseLiteralListSuffix(const, const) | |
rewriteSquareBrackets(const) | |
link([, ]) | |
rewriter() | |
listener: handleLiteralList(0, [, const, ]) | |
listener: endConstLiteral(:) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause(]) | |
ensureColon(]) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
reportRecoverableError(const, InvalidConstantPatternDuplicateConst) | |
listener: handleRecoverableError(InvalidConstantPatternDuplicateConst, const, const) | |
parseConstExpression(const) | |
listener: beginConstLiteral(<) | |
parseLiteralListSetMapOrFunction(const, const) | |
listener: beginTypeArguments(<) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments(>) | |
listener: handleType(int, null) | |
listener: endTypeArguments(1, <, >) | |
parseLiteralListSuffix(>, const) | |
rewriteSquareBrackets(>) | |
link([, ]) | |
rewriter() | |
listener: handleLiteralList(0, [, const, ]) | |
listener: endConstLiteral(:) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause(]) | |
ensureColon(]) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
reportRecoverableError(const, InvalidConstantPatternDuplicateConst) | |
listener: handleRecoverableError(InvalidConstantPatternDuplicateConst, const, const) | |
parseConstExpression(const) | |
listener: beginConstLiteral({) | |
listener: handleNoTypeArguments({) | |
parseLiteralSetOrMapSuffix(const, const) | |
listener: handleLiteralSetOrMap(0, {, const, }, false) | |
listener: endConstLiteral(:) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause(}) | |
ensureColon(}) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
reportRecoverableError(const, InvalidConstantPatternDuplicateConst) | |
listener: handleRecoverableError(InvalidConstantPatternDuplicateConst, const, const) | |
parseConstExpression(const) | |
listener: beginConstLiteral(<) | |
parseLiteralListSetMapOrFunction(const, const) | |
listener: beginTypeArguments(<) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments(,) | |
listener: handleType(int, null) | |
listener: handleIdentifier(String, typeReference) | |
listener: handleNoTypeArguments(>) | |
listener: handleType(String, null) | |
listener: endTypeArguments(2, <, >) | |
parseLiteralSetOrMapSuffix(>, const) | |
listener: handleLiteralSetOrMap(0, {, const, }, false) | |
listener: endConstLiteral(:) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause(}) | |
ensureColon(}) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
parseNewExpression(const) | |
isNextIdentifier(new) | |
listener: beginNewExpression(new) | |
parseConstructorReference(new, ConstructorReferenceContext.New, null) | |
ensureIdentifier(new, constructorReference) | |
listener: handleIdentifier(Class, constructorReference) | |
listener: beginConstructorReference(Class) | |
parseQualifiedRestOpt(Class, constructorReferenceContinuation) | |
listener: handleNoTypeArguments(() | |
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(() | |
listener: endConstructorReference(Class, null, (, ConstructorReferenceContext.New) | |
parseConstructorInvocationArguments(Class) | |
parseArgumentsRest(() | |
listener: beginArguments(() | |
listener: endArguments(0, (, )) | |
listener: endNewExpression(new) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
parseNewExpression(case) | |
isNextIdentifier(new) | |
listener: beginNewExpression(new) | |
parseConstructorReference(new, ConstructorReferenceContext.New, null) | |
ensureIdentifier(new, constructorReference) | |
listener: handleIdentifier(Class, constructorReference) | |
listener: beginConstructorReference(Class) | |
parseQualifiedRestOpt(Class, constructorReferenceContinuation) | |
listener: handleNoTypeArguments(() | |
listener: handleNoConstructorReferenceContinuationAfterTypeArguments(() | |
listener: endConstructorReference(Class, null, (, ConstructorReferenceContext.New) | |
parseConstructorInvocationArguments(Class) | |
parseArgumentsRest(() | |
listener: beginArguments(() | |
listener: endArguments(0, (, )) | |
listener: endNewExpression(new) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(const, ConstantPatternContext.explicit) | |
parseParenthesizedExpressionOrRecordLiteral(const, null, ConstantPatternContext.explicit) | |
listener: beginParenthesizedExpressionOrRecordLiteral(() | |
ensureCloseParen((, () | |
reportRecoverableError(), InvalidConstantPatternEmptyRecordLiteral) | |
listener: handleRecoverableError(InvalidConstantPatternEmptyRecordLiteral, ), )) | |
listener: endRecordLiteral((, 0, null) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
reportRecoverableError(const, InvalidConstantPatternDuplicateConst) | |
listener: handleRecoverableError(InvalidConstantPatternDuplicateConst, const, const) | |
parseConstExpression(const) | |
listener: beginConstLiteral(() | |
parseParenthesizedExpressionOrRecordLiteral(const, const, ConstantPatternContext.none) | |
listener: beginParenthesizedExpressionOrRecordLiteral(() | |
ensureCloseParen((, () | |
listener: endRecordLiteral((, 0, const) | |
listener: endConstLiteral(:) | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(const, ConstantPatternContext.explicit) | |
parseParenthesizedExpressionOrRecordLiteral(const, null, ConstantPatternContext.explicit) | |
listener: beginParenthesizedExpressionOrRecordLiteral(() | |
parseExpression(() | |
looksLikeOuterPatternEquals(() | |
skipOuterPattern(() | |
parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression((, true, ConstantPatternContext.none) | |
parsePrimary((, expression, ConstantPatternContext.none) | |
parseLiteralInt(() | |
listener: handleLiteralInt(1) | |
ensureCloseParen(1, () | |
listener: endParenthesizedExpression(() | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(const, ConstantPatternContext.explicit) | |
parseParenthesizedExpressionOrRecordLiteral(const, null, ConstantPatternContext.explicit) | |
listener: beginParenthesizedExpressionOrRecordLiteral(() | |
parseExpression(() | |
looksLikeOuterPatternEquals(() | |
skipOuterPattern(() | |
parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression((, true, ConstantPatternContext.none) | |
parsePrecedenceExpression(-, 16, true, ConstantPatternContext.none) | |
parseUnaryExpression(-, true, ConstantPatternContext.none) | |
parsePrimary(-, expression, ConstantPatternContext.none) | |
parseLiteralInt(-) | |
listener: handleLiteralInt(1) | |
listener: handleUnaryPrefixExpression(-) | |
ensureCloseParen(1, () | |
listener: endParenthesizedExpression(() | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(const, ConstantPatternContext.explicit) | |
parseParenthesizedExpressionOrRecordLiteral(const, null, ConstantPatternContext.explicit) | |
listener: beginParenthesizedExpressionOrRecordLiteral(() | |
parseExpression(() | |
looksLikeOuterPatternEquals(() | |
skipOuterPattern(() | |
skipObjectPatternRest(value) | |
parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression((, true, ConstantPatternContext.none) | |
parsePrimary((, expression, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral((, expression) | |
parseSend((, expression) | |
isNextIdentifier(() | |
ensureIdentifier((, expression) | |
listener: handleIdentifier(value, expression) | |
listener: handleNoTypeArguments()) | |
parseArgumentsOpt(value) | |
listener: handleNoArguments()) | |
listener: handleSend(value, )) | |
ensureCloseParen(value, () | |
listener: endParenthesizedExpression(() | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(const, ConstantPatternContext.explicit) | |
parseParenthesizedExpressionOrRecordLiteral(const, null, ConstantPatternContext.explicit) | |
listener: beginParenthesizedExpressionOrRecordLiteral(() | |
parseExpression(() | |
looksLikeOuterPatternEquals(() | |
skipOuterPattern(() | |
parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression((, true, ConstantPatternContext.none) | |
parsePrecedenceExpression(-, 16, true, ConstantPatternContext.none) | |
parseUnaryExpression(-, true, ConstantPatternContext.none) | |
parsePrimary(-, expression, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral(-, expression) | |
parseSend(-, expression) | |
isNextIdentifier(-) | |
ensureIdentifier(-, expression) | |
listener: handleIdentifier(value, expression) | |
listener: handleNoTypeArguments()) | |
parseArgumentsOpt(value) | |
listener: handleNoArguments()) | |
listener: handleSend(value, )) | |
listener: handleUnaryPrefixExpression(-) | |
ensureCloseParen(value, () | |
listener: endParenthesizedExpression(() | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(const, ConstantPatternContext.explicit) | |
parseParenthesizedExpressionOrRecordLiteral(const, null, ConstantPatternContext.explicit) | |
listener: beginParenthesizedExpressionOrRecordLiteral(() | |
parseExpression(() | |
looksLikeOuterPatternEquals(() | |
skipOuterPattern(() | |
parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression((, true, ConstantPatternContext.none) | |
parsePrimary((, expression, ConstantPatternContext.none) | |
parseLiteralInt(() | |
listener: handleLiteralInt(1) | |
listener: beginBinaryExpression(+) | |
parsePrecedenceExpression(+, 14, true, ConstantPatternContext.none) | |
parseUnaryExpression(+, true, ConstantPatternContext.none) | |
parsePrimary(+, expression, ConstantPatternContext.none) | |
parseLiteralInt(+) | |
listener: handleLiteralInt(2) | |
listener: endBinaryExpression(+) | |
ensureCloseParen(2, () | |
listener: endParenthesizedExpression(() | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
parseSendOrFunctionLiteral(case, expression) | |
parseSend(case, expression) | |
isNextIdentifier(case) | |
ensureIdentifier(case, expression) | |
listener: handleIdentifier(GenericClass, expression) | |
listener: handleNoTypeArguments(<) | |
parseArgumentsOpt(GenericClass) | |
listener: handleNoArguments(<) | |
listener: handleSend(GenericClass, <) | |
listener: beginTypeArguments(<) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments(>) | |
listener: handleType(int, null) | |
listener: endTypeArguments(1, <, >) | |
reportRecoverableError(<, InvalidConstantPatternGeneric) | |
listener: handleRecoverableError(InvalidConstantPatternGeneric, <, <) | |
listener: handleTypeArgumentApplication(<) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(>) | |
ensureColon(>) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
parseSendOrFunctionLiteral(case, expression) | |
parseSend(case, expression) | |
isNextIdentifier(case) | |
ensureIdentifier(case, expression) | |
listener: handleIdentifier(prefix, expression) | |
listener: handleNoTypeArguments(.) | |
parseArgumentsOpt(prefix) | |
listener: handleNoArguments(.) | |
listener: handleSend(prefix, .) | |
parsePrimary(., expressionContinuation, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral(., expressionContinuation) | |
parseSend(., expressionContinuation) | |
isNextIdentifier(.) | |
ensureIdentifier(., expressionContinuation) | |
listener: handleIdentifier(GenericClass, expressionContinuation) | |
listener: handleNoTypeArguments(<) | |
parseArgumentsOpt(GenericClass) | |
listener: handleNoArguments(<) | |
listener: handleSend(GenericClass, <) | |
listener: handleEndingBinaryExpression(.) | |
listener: beginTypeArguments(<) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments(>) | |
listener: handleType(int, null) | |
listener: endTypeArguments(1, <, >) | |
reportRecoverableError(<, InvalidConstantPatternGeneric) | |
listener: handleRecoverableError(InvalidConstantPatternGeneric, <, <) | |
listener: handleTypeArgumentApplication(<) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(>) | |
ensureColon(>) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
parseSendOrFunctionLiteral(case, expression) | |
parseSend(case, expression) | |
isNextIdentifier(case) | |
ensureIdentifier(case, expression) | |
listener: handleIdentifier(GenericClass, expression) | |
listener: handleNoTypeArguments(<) | |
parseArgumentsOpt(GenericClass) | |
listener: handleNoArguments(<) | |
listener: handleSend(GenericClass, <) | |
listener: beginTypeArguments(<) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments(>) | |
listener: handleType(int, null) | |
listener: endTypeArguments(1, <, >) | |
reportRecoverableError(<, InvalidConstantPatternGeneric) | |
listener: handleRecoverableError(InvalidConstantPatternGeneric, <, <) | |
listener: handleTypeArgumentApplication(<) | |
parsePrimary(., expressionContinuation, ConstantPatternContext.none) | |
rewriter() | |
listener: handleNewAsIdentifier(new) | |
parseSendOrFunctionLiteral(., expressionContinuation) | |
parseSend(., expressionContinuation) | |
isNextIdentifier(.) | |
ensureIdentifier(., expressionContinuation) | |
listener: handleIdentifier(new, expressionContinuation) | |
listener: handleNoTypeArguments(:) | |
parseArgumentsOpt(new) | |
listener: handleNoArguments(:) | |
listener: handleSend(new, :) | |
listener: handleEndingBinaryExpression(.) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(new) | |
ensureColon(new) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(null) | |
parsePrecedenceExpression(case, 17, false, ConstantPatternContext.implicit) | |
parseUnaryExpression(case, false, ConstantPatternContext.implicit) | |
parsePrimary(case, expression, ConstantPatternContext.implicit) | |
parseSendOrFunctionLiteral(case, expression) | |
parseSend(case, expression) | |
isNextIdentifier(case) | |
ensureIdentifier(case, expression) | |
listener: handleIdentifier(prefix, expression) | |
listener: handleNoTypeArguments(.) | |
parseArgumentsOpt(prefix) | |
listener: handleNoArguments(.) | |
listener: handleSend(prefix, .) | |
parsePrimary(., expressionContinuation, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral(., expressionContinuation) | |
parseSend(., expressionContinuation) | |
isNextIdentifier(.) | |
ensureIdentifier(., expressionContinuation) | |
listener: handleIdentifier(GenericClass, expressionContinuation) | |
listener: handleNoTypeArguments(<) | |
parseArgumentsOpt(GenericClass) | |
listener: handleNoArguments(<) | |
listener: handleSend(GenericClass, <) | |
listener: handleEndingBinaryExpression(.) | |
listener: beginTypeArguments(<) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments(>) | |
listener: handleType(int, null) | |
listener: endTypeArguments(1, <, >) | |
reportRecoverableError(<, InvalidConstantPatternGeneric) | |
listener: handleRecoverableError(InvalidConstantPatternGeneric, <, <) | |
listener: handleTypeArgumentApplication(<) | |
parsePrimary(., expressionContinuation, ConstantPatternContext.none) | |
rewriter() | |
listener: handleNewAsIdentifier(new) | |
parseSendOrFunctionLiteral(., expressionContinuation) | |
parseSend(., expressionContinuation) | |
isNextIdentifier(.) | |
ensureIdentifier(., expressionContinuation) | |
listener: handleIdentifier(new, expressionContinuation) | |
listener: handleNoTypeArguments(:) | |
parseArgumentsOpt(new) | |
listener: handleNoArguments(:) | |
listener: handleSend(new, :) | |
listener: handleEndingBinaryExpression(.) | |
listener: endConstantPattern(null) | |
listener: handleSwitchCaseNoWhenClause(new) | |
ensureColon(new) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(const, ConstantPatternContext.explicit) | |
parseParenthesizedExpressionOrRecordLiteral(const, null, ConstantPatternContext.explicit) | |
listener: beginParenthesizedExpressionOrRecordLiteral(() | |
parseExpression(() | |
looksLikeOuterPatternEquals(() | |
skipOuterPattern(() | |
skipObjectPatternRest(GenericClass) | |
parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression((, true, ConstantPatternContext.none) | |
parsePrimary((, expression, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral((, expression) | |
parseSend((, expression) | |
isNextIdentifier(() | |
ensureIdentifier((, expression) | |
listener: handleIdentifier(GenericClass, expression) | |
listener: handleNoTypeArguments(<) | |
parseArgumentsOpt(GenericClass) | |
listener: handleNoArguments(<) | |
listener: handleSend(GenericClass, <) | |
listener: beginTypeArguments(<) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments(>) | |
listener: handleType(int, null) | |
listener: endTypeArguments(1, <, >) | |
listener: handleTypeArgumentApplication(<) | |
ensureCloseParen(>, () | |
listener: endParenthesizedExpression(() | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(const, ConstantPatternContext.explicit) | |
parseParenthesizedExpressionOrRecordLiteral(const, null, ConstantPatternContext.explicit) | |
listener: beginParenthesizedExpressionOrRecordLiteral(() | |
parseExpression(() | |
looksLikeOuterPatternEquals(() | |
skipOuterPattern(() | |
skipObjectPatternRest(GenericClass) | |
parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression((, true, ConstantPatternContext.none) | |
parsePrimary((, expression, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral((, expression) | |
parseSend((, expression) | |
isNextIdentifier(() | |
ensureIdentifier((, expression) | |
listener: handleIdentifier(prefix, expression) | |
listener: handleNoTypeArguments(.) | |
parseArgumentsOpt(prefix) | |
listener: handleNoArguments(.) | |
listener: handleSend(prefix, .) | |
parsePrimary(., expressionContinuation, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral(., expressionContinuation) | |
parseSend(., expressionContinuation) | |
isNextIdentifier(.) | |
ensureIdentifier(., expressionContinuation) | |
listener: handleIdentifier(GenericClass, expressionContinuation) | |
listener: handleNoTypeArguments(<) | |
parseArgumentsOpt(GenericClass) | |
listener: handleNoArguments(<) | |
listener: handleSend(GenericClass, <) | |
listener: handleEndingBinaryExpression(.) | |
listener: beginTypeArguments(<) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments(>) | |
listener: handleType(int, null) | |
listener: endTypeArguments(1, <, >) | |
listener: handleTypeArgumentApplication(<) | |
ensureCloseParen(>, () | |
listener: endParenthesizedExpression(() | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(const, ConstantPatternContext.explicit) | |
parseParenthesizedExpressionOrRecordLiteral(const, null, ConstantPatternContext.explicit) | |
listener: beginParenthesizedExpressionOrRecordLiteral(() | |
parseExpression(() | |
looksLikeOuterPatternEquals(() | |
skipOuterPattern(() | |
skipObjectPatternRest(GenericClass) | |
parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression((, true, ConstantPatternContext.none) | |
parsePrimary((, expression, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral((, expression) | |
parseSend((, expression) | |
isNextIdentifier(() | |
ensureIdentifier((, expression) | |
listener: handleIdentifier(GenericClass, expression) | |
listener: handleNoTypeArguments(<) | |
parseArgumentsOpt(GenericClass) | |
listener: handleNoArguments(<) | |
listener: handleSend(GenericClass, <) | |
listener: beginTypeArguments(<) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments(>) | |
listener: handleType(int, null) | |
listener: endTypeArguments(1, <, >) | |
listener: handleTypeArgumentApplication(<) | |
parsePrimary(., expressionContinuation, ConstantPatternContext.none) | |
rewriter() | |
listener: handleNewAsIdentifier(new) | |
parseSendOrFunctionLiteral(., expressionContinuation) | |
parseSend(., expressionContinuation) | |
isNextIdentifier(.) | |
ensureIdentifier(., expressionContinuation) | |
listener: handleIdentifier(new, expressionContinuation) | |
listener: handleNoTypeArguments()) | |
parseArgumentsOpt(new) | |
listener: handleNoArguments()) | |
listener: handleSend(new, )) | |
listener: handleEndingBinaryExpression(.) | |
ensureCloseParen(new, () | |
listener: endParenthesizedExpression(() | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(case) | |
listener: beginCaseExpression(case) | |
parsePattern(case, PatternContext.matching, precedence: 1) | |
parsePrimaryPattern(case, PatternContext.matching) | |
listener: beginConstantPattern(const) | |
parsePrecedenceExpression(const, 17, false, ConstantPatternContext.explicit) | |
parseUnaryExpression(const, false, ConstantPatternContext.explicit) | |
parsePrimary(const, expression, ConstantPatternContext.explicit) | |
parseParenthesizedExpressionFunctionLiteralOrRecordLiteral(const, ConstantPatternContext.explicit) | |
parseParenthesizedExpressionOrRecordLiteral(const, null, ConstantPatternContext.explicit) | |
listener: beginParenthesizedExpressionOrRecordLiteral(() | |
parseExpression(() | |
looksLikeOuterPatternEquals(() | |
skipOuterPattern(() | |
skipObjectPatternRest(GenericClass) | |
parsePrecedenceExpression((, 1, true, ConstantPatternContext.none) | |
parseUnaryExpression((, true, ConstantPatternContext.none) | |
parsePrimary((, expression, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral((, expression) | |
parseSend((, expression) | |
isNextIdentifier(() | |
ensureIdentifier((, expression) | |
listener: handleIdentifier(prefix, expression) | |
listener: handleNoTypeArguments(.) | |
parseArgumentsOpt(prefix) | |
listener: handleNoArguments(.) | |
listener: handleSend(prefix, .) | |
parsePrimary(., expressionContinuation, ConstantPatternContext.none) | |
parseSendOrFunctionLiteral(., expressionContinuation) | |
parseSend(., expressionContinuation) | |
isNextIdentifier(.) | |
ensureIdentifier(., expressionContinuation) | |
listener: handleIdentifier(GenericClass, expressionContinuation) | |
listener: handleNoTypeArguments(<) | |
parseArgumentsOpt(GenericClass) | |
listener: handleNoArguments(<) | |
listener: handleSend(GenericClass, <) | |
listener: handleEndingBinaryExpression(.) | |
listener: beginTypeArguments(<) | |
listener: handleIdentifier(int, typeReference) | |
listener: handleNoTypeArguments(>) | |
listener: handleType(int, null) | |
listener: endTypeArguments(1, <, >) | |
listener: handleTypeArgumentApplication(<) | |
parsePrimary(., expressionContinuation, ConstantPatternContext.none) | |
rewriter() | |
listener: handleNewAsIdentifier(new) | |
parseSendOrFunctionLiteral(., expressionContinuation) | |
parseSend(., expressionContinuation) | |
isNextIdentifier(.) | |
ensureIdentifier(., expressionContinuation) | |
listener: handleIdentifier(new, expressionContinuation) | |
listener: handleNoTypeArguments()) | |
parseArgumentsOpt(new) | |
listener: handleNoArguments()) | |
listener: handleSend(new, )) | |
listener: handleEndingBinaryExpression(.) | |
ensureCloseParen(new, () | |
listener: endParenthesizedExpression(() | |
listener: endConstantPattern(const) | |
listener: handleSwitchCaseNoWhenClause()) | |
ensureColon()) | |
listener: endCaseExpression(case, null, :) | |
peekPastLabels(print) | |
parseStatementsInSwitchCase(:, print, case, 0, 45, null, null) | |
listener: beginSwitchCase(0, 45, 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) | |
looksLikeFunctionBody(;) | |
parseSend(:, expression) | |
isNextIdentifier(:) | |
ensureIdentifier(:, expression) | |
listener: handleIdentifier(print, expression) | |
listener: handleNoTypeArguments(() | |
parseArgumentsOpt(print) | |
parseArguments(print) | |
parseArgumentsRest(() | |
listener: beginArguments(() | |
parseExpression(() | |
looksLikeOuterPatternEquals(() | |
skipOuterPattern(() | |
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(;) | |
peekPastLabels(}) | |
listener: endSwitchCase(0, 45, null, null, 1, case, }) | |
notEofOrValue(}, }) | |
listener: endSwitchBlock(4, {, }) | |
listener: endSwitchStatement(switch, }) | |
notEofOrValue(}, }) | |
listener: endBlockFunctionBody(3, {, }) | |
listener: endClassMethod(null, test, (, null, }) | |
listener: endMember() | |
notEofOrValue(}, }) | |
listener: endClassOrMixinOrExtensionBody(DeclarationKind.Class, 3, {, }) | |
listener: endClassDeclaration(class, }) | |
listener: endTopLevelDeclaration(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(GenericClass, classOrMixinDeclaration) | |
listener: beginTypeVariables(<) | |
listener: beginMetadataStar(T) | |
listener: endMetadataStar(0) | |
listener: handleIdentifier(T, typeVariableDeclaration) | |
listener: beginTypeVariable(T) | |
listener: handleTypeVariablesDefined(T, 1) | |
listener: handleNoType(T) | |
listener: endTypeVariable(>, 0, null, null) | |
listener: endTypeVariables(<, >) | |
listener: beginClassDeclaration(class, null, null, null, null, null, null, null, null, null, GenericClass) | |
parseClass(>, class, class, GenericClass) | |
parseClassHeaderOpt(>, class, class) | |
parseClassExtendsOpt(>) | |
listener: handleNoType(>) | |
listener: handleClassExtends(null, 1) | |
parseClassWithClauseOpt(>) | |
listener: handleClassNoWithClause() | |
parseClassOrMixinOrEnumImplementsOpt(>) | |
listener: handleImplements(null, 0) | |
listener: handleClassHeader(class, class, null) | |
parseClassOrMixinOrExtensionBody(>, DeclarationKind.Class, GenericClass) | |
listener: beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {) | |
notEofOrValue(}, const) | |
parseClassOrMixinOrExtensionOrEnumMemberImpl({, DeclarationKind.Class, GenericClass) | |
parseMetadataStar({) | |
listener: beginMetadataStar(const) | |
listener: endMetadataStar(0) | |
listener: beginMember() | |
parseMethod({, null, null, null, null, null, null, const, const, Instance of 'NoType', null, GenericClass, DeclarationKind.Class, GenericClass, false) | |
listener: beginMethod(DeclarationKind.Class, null, null, null, null, const, null, GenericClass) | |
listener: handleNoType(const) | |
ensureIdentifierPotentiallyRecovered(const, methodDeclaration, false) | |
listener: handleIdentifier(GenericClass, methodDeclaration) | |
parseQualifiedRestOpt(GenericClass, methodDeclarationContinuation) | |
parseMethodTypeVar(GenericClass) | |
listener: handleNoTypeVariables(() | |
parseGetterOrFormalParameters(GenericClass, GenericClass, false, MemberKind.NonStaticMethod) | |
parseFormalParameters(GenericClass, MemberKind.NonStaticMethod) | |
parseFormalParametersRest((, MemberKind.NonStaticMethod) | |
listener: beginFormalParameters((, MemberKind.NonStaticMethod) | |
parseOptionalNamedParameters((, MemberKind.NonStaticMethod) | |
listener: beginOptionalFormalParameters({) | |
parseFormalParameter({, FormalParameterKind.optionalNamed, MemberKind.NonStaticMethod) | |
parseMetadataStar({) | |
listener: beginMetadataStar(a) | |
listener: endMetadataStar(0) | |
listener: beginFormalParameter(a, MemberKind.NonStaticMethod, null, null, null) | |
listener: handleNoType({) | |
ensureIdentifier({, formalParameterDeclaration) | |
listener: handleIdentifier(a, formalParameterDeclaration) | |
listener: handleFormalParameterWithoutValue(}) | |
listener: endFormalParameter(null, null, null, a, null, null, FormalParameterKind.optionalNamed, MemberKind.NonStaticMethod) | |
listener: endOptionalFormalParameters(1, {, }) | |
ensureCloseParen(}, () | |
listener: endFormalParameters(1, (, ), MemberKind.NonStaticMethod) | |
parseInitializersOpt()) | |
listener: handleNoInitializers() | |
parseAsyncModifierOpt()) | |
listener: handleAsyncModifier(null, null) | |
inPlainSync() | |
inPlainSync() | |
parseFunctionBody(), false, true) | |
listener: handleEmptyFunctionBody(;) | |
listener: endClassConstructor(null, const, (, null, ;) | |
listener: endMember() | |
notEofOrValue(}, }) | |
listener: endClassOrMixinOrExtensionBody(DeclarationKind.Class, 1, {, }) | |
listener: endClassDeclaration(class, }) | |
listener: endTopLevelDeclaration() | |
reportAllErrorTokens(import) | |
listener: endCompilationUnit(5, ) |