blob: 092b9a9a1ecfa363e21891e853ae5692d16a7034 [file] [log] [blame]
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, )