Files
sdk/pkg/front_end/parser_testcases/general/metadata.dart.intertwined.expect
T
Jens Johansen b5da327ed9 [parser] Parse and skip metadata according to spec
Make the parser handle metadata properly according to the spec.

There has been some confusion in regards to metadata because
https://github.com/dart-lang/language/blob/master/accepted/future-releases/small-features-21Q1/feature-specification.md
(used to) say we needed a spec update.

That was done in the parser in
https://dart-review.googlesource.com/c/sdk/+/182668
but really that made the parser adhere to the spec as it was which is
also correct (as the spec change wasn't needed at all).

The parser also needs to be able to skip metadata, though, and that
wasn't done it that CL which caused the issues in
https://github.com/dart-lang/sdk/issues/45120

The work directly in this CL is:
* Add lots of comments to parseMetadata to make them more up-to-date with
  the spec.
* Fix skipMetadata to correspond to parseMetadata.
* Tests verifying that 45120 is fixed in the parser and that metadata in
  general works as expected in the parser.

(In working on this, the future specification was corrected to say that the
spec did not need updating. Thanks to Erik for the quick turn-around
there).

Bug: #45120
Change-Id: Id1e4912cac7e5d9113efe083b3ecd06e6834a16e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190880
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2021-03-15 08:40:40 +00:00

1742 lines
86 KiB
Plaintext

parseUnit(@)
skipErrorTokens(@)
listener: beginCompilationUnit(@)
syntheticPreviousToken(@)
parseTopLevelDeclarationImpl(, Instance of 'DirectiveContext')
parseMetadataStar()
listener: beginMetadataStar(@)
parseMetadata()
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
inPlainSync()
listener: handleIdentifier(abstract, metadataReference)
parseQualifiedRestOpt(abstract, metadataContinuation)
listener: handleNoTypeArguments(@)
parseArgumentsOpt(abstract)
listener: handleNoArguments(@)
listener: endMetadata(@, null, @)
parseMetadata(abstract)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuation)
listener: handleQualified(.)
listener: handleNoTypeArguments(@)
parseArgumentsOpt(abstract)
listener: handleNoArguments(@)
listener: endMetadata(@, null, @)
parseMetadata(abstract)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
listener: handleIdentifier(bar, metadataContinuation)
listener: handleQualified(.)
listener: handleNoTypeArguments(.)
ensureIdentifier(., metadataContinuationAfterTypeArguments)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuationAfterTypeArguments)
parseArgumentsOpt(abstract)
listener: handleNoArguments(@)
listener: endMetadata(@, ., @)
parseMetadata(abstract)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
listener: handleNoTypeArguments(()
parseArgumentsOpt(foo)
parseArguments(foo)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, null, @)
parseMetadata())
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuation)
listener: handleQualified(.)
listener: handleNoTypeArguments(()
parseArgumentsOpt(abstract)
parseArguments(abstract)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, null, @)
parseMetadata())
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
listener: handleIdentifier(bar, metadataContinuation)
listener: handleQualified(.)
listener: handleNoTypeArguments(.)
ensureIdentifier(., metadataContinuationAfterTypeArguments)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuationAfterTypeArguments)
parseArgumentsOpt(abstract)
parseArguments(abstract)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, ., @)
parseMetadata())
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
parseArgumentsOpt(>)
parseArguments(>)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, null, @)
parseMetadata())
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
ensureIdentifier(., metadataContinuationAfterTypeArguments)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuationAfterTypeArguments)
parseArgumentsOpt(abstract)
parseArguments(abstract)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, ., @)
parseMetadata())
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
listener: handleIdentifier(bar, metadataContinuation)
listener: handleQualified(.)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
parseArgumentsOpt(>)
parseArguments(>)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, null, @)
parseMetadata())
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
listener: handleIdentifier(bar, metadataContinuation)
listener: handleQualified(.)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
ensureIdentifier(., metadataContinuationAfterTypeArguments)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuationAfterTypeArguments)
parseArgumentsOpt(abstract)
parseArguments(abstract)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, ., class)
listener: endMetadataStar(10)
parseTopLevelKeywordDeclaration(), class, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(), class)
parseClassOrNamedMixinApplication(null, class)
listener: beginClassOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(X, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
listener: beginClassDeclaration(class, null, X)
parseClass(X, class, class, X)
parseClassHeaderOpt(X, class, class)
parseClassExtendsOpt(X)
listener: handleNoType(X)
listener: handleClassExtends(null, 1)
parseWithClauseOpt(X)
listener: handleClassNoWithClause()
parseClassOrMixinImplementsOpt(X)
listener: handleClassOrMixinImplements(null, 0)
listener: handleClassHeader(class, class, null)
parseClassOrMixinOrExtensionBody(X, DeclarationKind.Class, X)
listener: beginClassOrMixinBody(DeclarationKind.Class, {)
notEofOrValue(}, })
listener: endClassOrMixinBody(DeclarationKind.Class, 0, {, })
listener: endClassDeclaration(class, })
listener: endTopLevelDeclaration(typedef)
parseTopLevelDeclarationImpl(}, Instance of 'DirectiveContext')
parseMetadataStar(})
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(}, typedef, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(}, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
listener: beginFunctionTypeAlias(typedef)
ensureIdentifierPotentiallyRecovered(typedef, typedefDeclaration, true)
listener: handleIdentifier(F, typedefDeclaration)
listener: beginTypeVariables(<)
parseMetadataStar(<)
listener: beginMetadataStar(@)
parseMetadata(<)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
inPlainSync()
listener: handleIdentifier(abstract, metadataReference)
parseQualifiedRestOpt(abstract, metadataContinuation)
listener: handleNoTypeArguments(T)
parseArgumentsOpt(abstract)
listener: handleNoArguments(T)
listener: endMetadata(@, null, T)
listener: endMetadataStar(1)
ensureIdentifier(abstract, typeVariableDeclaration)
listener: handleIdentifier(T, typeVariableDeclaration)
listener: beginTypeVariable(T)
listener: handleTypeVariablesDefined(T, 1)
listener: handleNoType(T)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
listener: beginFunctionType(int)
listener: beginTypeVariables(<)
parseMetadataStar(<)
listener: beginMetadataStar(@)
parseMetadata(<)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
inPlainSync()
listener: handleIdentifier(abstract, metadataReference)
parseQualifiedRestOpt(abstract, metadataContinuation)
listener: handleNoTypeArguments(X)
parseArgumentsOpt(abstract)
listener: handleNoArguments(X)
listener: endMetadata(@, null, X)
listener: endMetadataStar(1)
ensureIdentifier(abstract, typeVariableDeclaration)
listener: handleIdentifier(X, typeVariableDeclaration)
listener: beginTypeVariable(X)
listener: handleTypeVariablesDefined(X, 1)
listener: handleNoType(X)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
ensureIdentifier(=, typeReference)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(Function)
listener: handleType(int, null)
parseFormalParametersRequiredOpt(>, MemberKind.GeneralizedFunctionType)
parseFormalParametersRest((, MemberKind.GeneralizedFunctionType)
listener: beginFormalParameters((, MemberKind.GeneralizedFunctionType)
parseFormalParameter((, FormalParameterKind.mandatory, MemberKind.GeneralizedFunctionType)
parseMetadataStar(()
listener: beginMetadataStar(@)
parseMetadata(()
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
inPlainSync()
listener: handleIdentifier(abstract, metadataReference)
parseQualifiedRestOpt(abstract, metadataContinuation)
listener: handleNoTypeArguments(int)
parseArgumentsOpt(abstract)
listener: handleNoArguments(int)
listener: endMetadata(@, null, int)
listener: endMetadataStar(1)
listener: beginFormalParameter(int, MemberKind.GeneralizedFunctionType, null, null, null)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments())
listener: handleType(int, null)
listener: handleNoName())
listener: handleFormalParameterWithoutValue())
listener: endFormalParameter(null, null, ), null, null, FormalParameterKind.mandatory, MemberKind.GeneralizedFunctionType)
listener: endFormalParameters(1, (, ), MemberKind.GeneralizedFunctionType)
listener: endFunctionType(Function, null)
ensureSemicolon())
listener: endFunctionTypeAlias(typedef, =, ;)
listener: endTopLevelDeclaration(typedef)
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(;, typedef, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
listener: beginFunctionTypeAlias(typedef)
ensureIdentifierPotentiallyRecovered(typedef, typedefDeclaration, true)
listener: handleIdentifier(F, typedefDeclaration)
listener: beginTypeVariables(<)
parseMetadataStar(<)
listener: beginMetadataStar(@)
parseMetadata(<)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuation)
listener: handleQualified(.)
listener: handleNoTypeArguments(T)
parseArgumentsOpt(abstract)
listener: handleNoArguments(T)
listener: endMetadata(@, null, T)
listener: endMetadataStar(1)
ensureIdentifier(abstract, typeVariableDeclaration)
listener: handleIdentifier(T, typeVariableDeclaration)
listener: beginTypeVariable(T)
listener: handleTypeVariablesDefined(T, 1)
listener: handleNoType(T)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
listener: beginFunctionType(int)
listener: beginTypeVariables(<)
parseMetadataStar(<)
listener: beginMetadataStar(@)
parseMetadata(<)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuation)
listener: handleQualified(.)
listener: handleNoTypeArguments(X)
parseArgumentsOpt(abstract)
listener: handleNoArguments(X)
listener: endMetadata(@, null, X)
listener: endMetadataStar(1)
ensureIdentifier(abstract, typeVariableDeclaration)
listener: handleIdentifier(X, typeVariableDeclaration)
listener: beginTypeVariable(X)
listener: handleTypeVariablesDefined(X, 1)
listener: handleNoType(X)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
ensureIdentifier(=, typeReference)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(Function)
listener: handleType(int, null)
parseFormalParametersRequiredOpt(>, MemberKind.GeneralizedFunctionType)
parseFormalParametersRest((, MemberKind.GeneralizedFunctionType)
listener: beginFormalParameters((, MemberKind.GeneralizedFunctionType)
parseFormalParameter((, FormalParameterKind.mandatory, MemberKind.GeneralizedFunctionType)
parseMetadataStar(()
listener: beginMetadataStar(@)
parseMetadata(()
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuation)
listener: handleQualified(.)
listener: handleNoTypeArguments(int)
parseArgumentsOpt(abstract)
listener: handleNoArguments(int)
listener: endMetadata(@, null, int)
listener: endMetadataStar(1)
listener: beginFormalParameter(int, MemberKind.GeneralizedFunctionType, null, null, null)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments())
listener: handleType(int, null)
listener: handleNoName())
listener: handleFormalParameterWithoutValue())
listener: endFormalParameter(null, null, ), null, null, FormalParameterKind.mandatory, MemberKind.GeneralizedFunctionType)
listener: endFormalParameters(1, (, ), MemberKind.GeneralizedFunctionType)
listener: endFunctionType(Function, null)
ensureSemicolon())
listener: endFunctionTypeAlias(typedef, =, ;)
listener: endTopLevelDeclaration(typedef)
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(;, typedef, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
listener: beginFunctionTypeAlias(typedef)
ensureIdentifierPotentiallyRecovered(typedef, typedefDeclaration, true)
listener: handleIdentifier(F, typedefDeclaration)
listener: beginTypeVariables(<)
parseMetadataStar(<)
listener: beginMetadataStar(@)
parseMetadata(<)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
listener: handleIdentifier(bar, metadataContinuation)
listener: handleQualified(.)
listener: handleNoTypeArguments(.)
ensureIdentifier(., metadataContinuationAfterTypeArguments)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuationAfterTypeArguments)
parseArgumentsOpt(abstract)
listener: handleNoArguments(T)
listener: endMetadata(@, ., T)
listener: endMetadataStar(1)
ensureIdentifier(abstract, typeVariableDeclaration)
listener: handleIdentifier(T, typeVariableDeclaration)
listener: beginTypeVariable(T)
listener: handleTypeVariablesDefined(T, 1)
listener: handleNoType(T)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
listener: beginFunctionType(int)
listener: beginTypeVariables(<)
parseMetadataStar(<)
listener: beginMetadataStar(@)
parseMetadata(<)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
listener: handleIdentifier(bar, metadataContinuation)
listener: handleQualified(.)
listener: handleNoTypeArguments(.)
ensureIdentifier(., metadataContinuationAfterTypeArguments)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuationAfterTypeArguments)
parseArgumentsOpt(abstract)
listener: handleNoArguments(X)
listener: endMetadata(@, ., X)
listener: endMetadataStar(1)
ensureIdentifier(abstract, typeVariableDeclaration)
listener: handleIdentifier(X, typeVariableDeclaration)
listener: beginTypeVariable(X)
listener: handleTypeVariablesDefined(X, 1)
listener: handleNoType(X)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
ensureIdentifier(=, typeReference)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(Function)
listener: handleType(int, null)
parseFormalParametersRequiredOpt(>, MemberKind.GeneralizedFunctionType)
parseFormalParametersRest((, MemberKind.GeneralizedFunctionType)
listener: beginFormalParameters((, MemberKind.GeneralizedFunctionType)
parseFormalParameter((, FormalParameterKind.mandatory, MemberKind.GeneralizedFunctionType)
parseMetadataStar(()
listener: beginMetadataStar(@)
parseMetadata(()
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
listener: handleIdentifier(bar, metadataContinuation)
listener: handleQualified(.)
listener: handleNoTypeArguments(.)
ensureIdentifier(., metadataContinuationAfterTypeArguments)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuationAfterTypeArguments)
parseArgumentsOpt(abstract)
listener: handleNoArguments(int)
listener: endMetadata(@, ., int)
listener: endMetadataStar(1)
listener: beginFormalParameter(int, MemberKind.GeneralizedFunctionType, null, null, null)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments())
listener: handleType(int, null)
listener: handleNoName())
listener: handleFormalParameterWithoutValue())
listener: endFormalParameter(null, null, ), null, null, FormalParameterKind.mandatory, MemberKind.GeneralizedFunctionType)
listener: endFormalParameters(1, (, ), MemberKind.GeneralizedFunctionType)
listener: endFunctionType(Function, null)
ensureSemicolon())
listener: endFunctionTypeAlias(typedef, =, ;)
listener: endTopLevelDeclaration(typedef)
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(;, typedef, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
listener: beginFunctionTypeAlias(typedef)
ensureIdentifierPotentiallyRecovered(typedef, typedefDeclaration, true)
listener: handleIdentifier(F, typedefDeclaration)
listener: beginTypeVariables(<)
parseMetadataStar(<)
listener: beginMetadataStar(@)
parseMetadata(<)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
listener: handleNoTypeArguments(()
parseArgumentsOpt(foo)
parseArguments(foo)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, null, T)
listener: endMetadataStar(1)
ensureIdentifier(), typeVariableDeclaration)
listener: handleIdentifier(T, typeVariableDeclaration)
listener: beginTypeVariable(T)
listener: handleTypeVariablesDefined(T, 1)
listener: handleNoType(T)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
listener: beginFunctionType(int)
listener: beginTypeVariables(<)
parseMetadataStar(<)
listener: beginMetadataStar(@)
parseMetadata(<)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
listener: handleNoTypeArguments(()
parseArgumentsOpt(foo)
parseArguments(foo)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, null, X)
listener: endMetadataStar(1)
ensureIdentifier(), typeVariableDeclaration)
listener: handleIdentifier(X, typeVariableDeclaration)
listener: beginTypeVariable(X)
listener: handleTypeVariablesDefined(X, 1)
listener: handleNoType(X)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
ensureIdentifier(=, typeReference)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(Function)
listener: handleType(int, null)
parseFormalParametersRequiredOpt(>, MemberKind.GeneralizedFunctionType)
parseFormalParametersRest((, MemberKind.GeneralizedFunctionType)
listener: beginFormalParameters((, MemberKind.GeneralizedFunctionType)
parseFormalParameter((, FormalParameterKind.mandatory, MemberKind.GeneralizedFunctionType)
parseMetadataStar(()
listener: beginMetadataStar(@)
parseMetadata(()
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
listener: handleNoTypeArguments(()
parseArgumentsOpt(foo)
parseArguments(foo)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, null, int)
listener: endMetadataStar(1)
listener: beginFormalParameter(int, MemberKind.GeneralizedFunctionType, null, null, null)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments())
listener: handleType(int, null)
listener: handleNoName())
listener: handleFormalParameterWithoutValue())
listener: endFormalParameter(null, null, ), null, null, FormalParameterKind.mandatory, MemberKind.GeneralizedFunctionType)
listener: endFormalParameters(1, (, ), MemberKind.GeneralizedFunctionType)
listener: endFunctionType(Function, null)
ensureSemicolon())
listener: endFunctionTypeAlias(typedef, =, ;)
listener: endTopLevelDeclaration(typedef)
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(;, typedef, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
listener: beginFunctionTypeAlias(typedef)
ensureIdentifierPotentiallyRecovered(typedef, typedefDeclaration, true)
listener: handleIdentifier(F, typedefDeclaration)
listener: beginTypeVariables(<)
parseMetadataStar(<)
listener: beginMetadataStar(@)
parseMetadata(<)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuation)
listener: handleQualified(.)
listener: handleNoTypeArguments(()
parseArgumentsOpt(abstract)
parseArguments(abstract)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, null, T)
listener: endMetadataStar(1)
ensureIdentifier(), typeVariableDeclaration)
listener: handleIdentifier(T, typeVariableDeclaration)
listener: beginTypeVariable(T)
listener: handleTypeVariablesDefined(T, 1)
listener: handleNoType(T)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
listener: beginFunctionType(int)
listener: beginTypeVariables(<)
parseMetadataStar(<)
listener: beginMetadataStar(@)
parseMetadata(<)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuation)
listener: handleQualified(.)
listener: handleNoTypeArguments(()
parseArgumentsOpt(abstract)
parseArguments(abstract)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, null, X)
listener: endMetadataStar(1)
ensureIdentifier(), typeVariableDeclaration)
listener: handleIdentifier(X, typeVariableDeclaration)
listener: beginTypeVariable(X)
listener: handleTypeVariablesDefined(X, 1)
listener: handleNoType(X)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
ensureIdentifier(=, typeReference)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(Function)
listener: handleType(int, null)
parseFormalParametersRequiredOpt(>, MemberKind.GeneralizedFunctionType)
parseFormalParametersRest((, MemberKind.GeneralizedFunctionType)
listener: beginFormalParameters((, MemberKind.GeneralizedFunctionType)
parseFormalParameter((, FormalParameterKind.mandatory, MemberKind.GeneralizedFunctionType)
parseMetadataStar(()
listener: beginMetadataStar(@)
parseMetadata(()
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuation)
listener: handleQualified(.)
listener: handleNoTypeArguments(()
parseArgumentsOpt(abstract)
parseArguments(abstract)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, null, int)
listener: endMetadataStar(1)
listener: beginFormalParameter(int, MemberKind.GeneralizedFunctionType, null, null, null)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments())
listener: handleType(int, null)
listener: handleNoName())
listener: handleFormalParameterWithoutValue())
listener: endFormalParameter(null, null, ), null, null, FormalParameterKind.mandatory, MemberKind.GeneralizedFunctionType)
listener: endFormalParameters(1, (, ), MemberKind.GeneralizedFunctionType)
listener: endFunctionType(Function, null)
ensureSemicolon())
listener: endFunctionTypeAlias(typedef, =, ;)
listener: endTopLevelDeclaration(typedef)
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(;, typedef, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
listener: beginFunctionTypeAlias(typedef)
ensureIdentifierPotentiallyRecovered(typedef, typedefDeclaration, true)
listener: handleIdentifier(F, typedefDeclaration)
listener: beginTypeVariables(<)
parseMetadataStar(<)
listener: beginMetadataStar(@)
parseMetadata(<)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
listener: handleIdentifier(bar, metadataContinuation)
listener: handleQualified(.)
listener: handleNoTypeArguments(.)
ensureIdentifier(., metadataContinuationAfterTypeArguments)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuationAfterTypeArguments)
parseArgumentsOpt(abstract)
parseArguments(abstract)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, ., T)
listener: endMetadataStar(1)
ensureIdentifier(), typeVariableDeclaration)
listener: handleIdentifier(T, typeVariableDeclaration)
listener: beginTypeVariable(T)
listener: handleTypeVariablesDefined(T, 1)
listener: handleNoType(T)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
listener: beginFunctionType(int)
listener: beginTypeVariables(<)
parseMetadataStar(<)
listener: beginMetadataStar(@)
parseMetadata(<)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
listener: handleIdentifier(bar, metadataContinuation)
listener: handleQualified(.)
listener: handleNoTypeArguments(.)
ensureIdentifier(., metadataContinuationAfterTypeArguments)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuationAfterTypeArguments)
parseArgumentsOpt(abstract)
parseArguments(abstract)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, ., X)
listener: endMetadataStar(1)
ensureIdentifier(), typeVariableDeclaration)
listener: handleIdentifier(X, typeVariableDeclaration)
listener: beginTypeVariable(X)
listener: handleTypeVariablesDefined(X, 1)
listener: handleNoType(X)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
ensureIdentifier(=, typeReference)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(Function)
listener: handleType(int, null)
parseFormalParametersRequiredOpt(>, MemberKind.GeneralizedFunctionType)
parseFormalParametersRest((, MemberKind.GeneralizedFunctionType)
listener: beginFormalParameters((, MemberKind.GeneralizedFunctionType)
parseFormalParameter((, FormalParameterKind.mandatory, MemberKind.GeneralizedFunctionType)
parseMetadataStar(()
listener: beginMetadataStar(@)
parseMetadata(()
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
listener: handleIdentifier(bar, metadataContinuation)
listener: handleQualified(.)
listener: handleNoTypeArguments(.)
ensureIdentifier(., metadataContinuationAfterTypeArguments)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuationAfterTypeArguments)
parseArgumentsOpt(abstract)
parseArguments(abstract)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, ., int)
listener: endMetadataStar(1)
listener: beginFormalParameter(int, MemberKind.GeneralizedFunctionType, null, null, null)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments())
listener: handleType(int, null)
listener: handleNoName())
listener: handleFormalParameterWithoutValue())
listener: endFormalParameter(null, null, ), null, null, FormalParameterKind.mandatory, MemberKind.GeneralizedFunctionType)
listener: endFormalParameters(1, (, ), MemberKind.GeneralizedFunctionType)
listener: endFunctionType(Function, null)
ensureSemicolon())
listener: endFunctionTypeAlias(typedef, =, ;)
listener: endTopLevelDeclaration(typedef)
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(;, typedef, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
listener: beginFunctionTypeAlias(typedef)
ensureIdentifierPotentiallyRecovered(typedef, typedefDeclaration, true)
listener: handleIdentifier(F, typedefDeclaration)
listener: beginTypeVariables(<)
parseMetadataStar(<)
listener: beginMetadataStar(@)
parseMetadata(<)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
parseArgumentsOpt(>)
parseArguments(>)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, null, T)
listener: endMetadataStar(1)
ensureIdentifier(), typeVariableDeclaration)
listener: handleIdentifier(T, typeVariableDeclaration)
listener: beginTypeVariable(T)
listener: handleTypeVariablesDefined(T, 1)
listener: handleNoType(T)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
listener: beginFunctionType(int)
listener: beginTypeVariables(<)
parseMetadataStar(<)
listener: beginMetadataStar(@)
parseMetadata(<)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
parseArgumentsOpt(>)
parseArguments(>)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, null, X)
listener: endMetadataStar(1)
ensureIdentifier(), typeVariableDeclaration)
listener: handleIdentifier(X, typeVariableDeclaration)
listener: beginTypeVariable(X)
listener: handleTypeVariablesDefined(X, 1)
listener: handleNoType(X)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
ensureIdentifier(=, typeReference)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(Function)
listener: handleType(int, null)
parseFormalParametersRequiredOpt(>, MemberKind.GeneralizedFunctionType)
parseFormalParametersRest((, MemberKind.GeneralizedFunctionType)
listener: beginFormalParameters((, MemberKind.GeneralizedFunctionType)
parseFormalParameter((, FormalParameterKind.mandatory, MemberKind.GeneralizedFunctionType)
parseMetadataStar(()
listener: beginMetadataStar(@)
parseMetadata(()
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
parseArgumentsOpt(>)
parseArguments(>)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, null, int)
listener: endMetadataStar(1)
listener: beginFormalParameter(int, MemberKind.GeneralizedFunctionType, null, null, null)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments())
listener: handleType(int, null)
listener: handleNoName())
listener: handleFormalParameterWithoutValue())
listener: endFormalParameter(null, null, ), null, null, FormalParameterKind.mandatory, MemberKind.GeneralizedFunctionType)
listener: endFormalParameters(1, (, ), MemberKind.GeneralizedFunctionType)
listener: endFunctionType(Function, null)
ensureSemicolon())
listener: endFunctionTypeAlias(typedef, =, ;)
listener: endTopLevelDeclaration(typedef)
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(;, typedef, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
listener: beginFunctionTypeAlias(typedef)
ensureIdentifierPotentiallyRecovered(typedef, typedefDeclaration, true)
listener: handleIdentifier(F, typedefDeclaration)
listener: beginTypeVariables(<)
parseMetadataStar(<)
listener: beginMetadataStar(@)
parseMetadata(<)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
ensureIdentifier(., metadataContinuationAfterTypeArguments)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuationAfterTypeArguments)
parseArgumentsOpt(abstract)
parseArguments(abstract)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, ., T)
listener: endMetadataStar(1)
ensureIdentifier(), typeVariableDeclaration)
listener: handleIdentifier(T, typeVariableDeclaration)
listener: beginTypeVariable(T)
listener: handleTypeVariablesDefined(T, 1)
listener: handleNoType(T)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
listener: beginFunctionType(int)
listener: beginTypeVariables(<)
parseMetadataStar(<)
listener: beginMetadataStar(@)
parseMetadata(<)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
ensureIdentifier(., metadataContinuationAfterTypeArguments)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuationAfterTypeArguments)
parseArgumentsOpt(abstract)
parseArguments(abstract)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, ., X)
listener: endMetadataStar(1)
ensureIdentifier(), typeVariableDeclaration)
listener: handleIdentifier(X, typeVariableDeclaration)
listener: beginTypeVariable(X)
listener: handleTypeVariablesDefined(X, 1)
listener: handleNoType(X)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
ensureIdentifier(=, typeReference)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(Function)
listener: handleType(int, null)
parseFormalParametersRequiredOpt(>, MemberKind.GeneralizedFunctionType)
parseFormalParametersRest((, MemberKind.GeneralizedFunctionType)
listener: beginFormalParameters((, MemberKind.GeneralizedFunctionType)
parseFormalParameter((, FormalParameterKind.mandatory, MemberKind.GeneralizedFunctionType)
parseMetadataStar(()
listener: beginMetadataStar(@)
parseMetadata(()
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
ensureIdentifier(., metadataContinuationAfterTypeArguments)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuationAfterTypeArguments)
parseArgumentsOpt(abstract)
parseArguments(abstract)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, ., int)
listener: endMetadataStar(1)
listener: beginFormalParameter(int, MemberKind.GeneralizedFunctionType, null, null, null)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments())
listener: handleType(int, null)
listener: handleNoName())
listener: handleFormalParameterWithoutValue())
listener: endFormalParameter(null, null, ), null, null, FormalParameterKind.mandatory, MemberKind.GeneralizedFunctionType)
listener: endFormalParameters(1, (, ), MemberKind.GeneralizedFunctionType)
listener: endFunctionType(Function, null)
ensureSemicolon())
listener: endFunctionTypeAlias(typedef, =, ;)
listener: endTopLevelDeclaration(typedef)
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(;, typedef, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
listener: beginFunctionTypeAlias(typedef)
ensureIdentifierPotentiallyRecovered(typedef, typedefDeclaration, true)
listener: handleIdentifier(F, typedefDeclaration)
listener: beginTypeVariables(<)
parseMetadataStar(<)
listener: beginMetadataStar(@)
parseMetadata(<)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
listener: handleIdentifier(bar, metadataContinuation)
listener: handleQualified(.)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
parseArgumentsOpt(>)
parseArguments(>)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, null, T)
listener: endMetadataStar(1)
ensureIdentifier(), typeVariableDeclaration)
listener: handleIdentifier(T, typeVariableDeclaration)
listener: beginTypeVariable(T)
listener: handleTypeVariablesDefined(T, 1)
listener: handleNoType(T)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
listener: beginFunctionType(int)
listener: beginTypeVariables(<)
parseMetadataStar(<)
listener: beginMetadataStar(@)
parseMetadata(<)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
listener: handleIdentifier(bar, metadataContinuation)
listener: handleQualified(.)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
parseArgumentsOpt(>)
parseArguments(>)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, null, X)
listener: endMetadataStar(1)
ensureIdentifier(), typeVariableDeclaration)
listener: handleIdentifier(X, typeVariableDeclaration)
listener: beginTypeVariable(X)
listener: handleTypeVariablesDefined(X, 1)
listener: handleNoType(X)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
ensureIdentifier(=, typeReference)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(Function)
listener: handleType(int, null)
parseFormalParametersRequiredOpt(>, MemberKind.GeneralizedFunctionType)
parseFormalParametersRest((, MemberKind.GeneralizedFunctionType)
listener: beginFormalParameters((, MemberKind.GeneralizedFunctionType)
parseFormalParameter((, FormalParameterKind.mandatory, MemberKind.GeneralizedFunctionType)
parseMetadataStar(()
listener: beginMetadataStar(@)
parseMetadata(()
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
listener: handleIdentifier(bar, metadataContinuation)
listener: handleQualified(.)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
parseArgumentsOpt(>)
parseArguments(>)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, null, int)
listener: endMetadataStar(1)
listener: beginFormalParameter(int, MemberKind.GeneralizedFunctionType, null, null, null)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments())
listener: handleType(int, null)
listener: handleNoName())
listener: handleFormalParameterWithoutValue())
listener: endFormalParameter(null, null, ), null, null, FormalParameterKind.mandatory, MemberKind.GeneralizedFunctionType)
listener: endFormalParameters(1, (, ), MemberKind.GeneralizedFunctionType)
listener: endFunctionType(Function, null)
ensureSemicolon())
listener: endFunctionTypeAlias(typedef, =, ;)
listener: endTopLevelDeclaration(typedef)
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
parseMetadataStar(;)
listener: beginMetadataStar(typedef)
listener: endMetadataStar(0)
parseTopLevelKeywordDeclaration(;, typedef, Instance of 'DirectiveContext')
parseTopLevelKeywordModifiers(;, typedef)
parseTypedef(typedef)
listener: beginUncategorizedTopLevelDeclaration(typedef)
listener: beginFunctionTypeAlias(typedef)
ensureIdentifierPotentiallyRecovered(typedef, typedefDeclaration, true)
listener: handleIdentifier(F, typedefDeclaration)
listener: beginTypeVariables(<)
parseMetadataStar(<)
listener: beginMetadataStar(@)
parseMetadata(<)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
listener: handleIdentifier(bar, metadataContinuation)
listener: handleQualified(.)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
ensureIdentifier(., metadataContinuationAfterTypeArguments)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuationAfterTypeArguments)
parseArgumentsOpt(abstract)
parseArguments(abstract)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, ., T)
listener: endMetadataStar(1)
ensureIdentifier(), typeVariableDeclaration)
listener: handleIdentifier(T, typeVariableDeclaration)
listener: beginTypeVariable(T)
listener: handleTypeVariablesDefined(T, 1)
listener: handleNoType(T)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
listener: beginFunctionType(int)
listener: beginTypeVariables(<)
parseMetadataStar(<)
listener: beginMetadataStar(@)
parseMetadata(<)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
listener: handleIdentifier(bar, metadataContinuation)
listener: handleQualified(.)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
ensureIdentifier(., metadataContinuationAfterTypeArguments)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuationAfterTypeArguments)
parseArgumentsOpt(abstract)
parseArguments(abstract)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, ., X)
listener: endMetadataStar(1)
ensureIdentifier(), typeVariableDeclaration)
listener: handleIdentifier(X, typeVariableDeclaration)
listener: beginTypeVariable(X)
listener: handleTypeVariablesDefined(X, 1)
listener: handleNoType(X)
listener: endTypeVariable(>, 0, null, null)
listener: endTypeVariables(<, >)
ensureIdentifier(=, typeReference)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(Function)
listener: handleType(int, null)
parseFormalParametersRequiredOpt(>, MemberKind.GeneralizedFunctionType)
parseFormalParametersRest((, MemberKind.GeneralizedFunctionType)
listener: beginFormalParameters((, MemberKind.GeneralizedFunctionType)
parseFormalParameter((, FormalParameterKind.mandatory, MemberKind.GeneralizedFunctionType)
parseMetadataStar(()
listener: beginMetadataStar(@)
parseMetadata(()
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
listener: handleIdentifier(foo, metadataReference)
parseQualifiedRestOpt(foo, metadataContinuation)
parseQualifiedRest(foo, metadataContinuation)
ensureIdentifier(., metadataContinuation)
listener: handleIdentifier(bar, metadataContinuation)
listener: handleQualified(.)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
ensureIdentifier(., metadataContinuationAfterTypeArguments)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuationAfterTypeArguments)
parseArgumentsOpt(abstract)
parseArguments(abstract)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, ., int)
listener: endMetadataStar(1)
listener: beginFormalParameter(int, MemberKind.GeneralizedFunctionType, null, null, null)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments())
listener: handleType(int, null)
listener: handleNoName())
listener: handleFormalParameterWithoutValue())
listener: endFormalParameter(null, null, ), null, null, FormalParameterKind.mandatory, MemberKind.GeneralizedFunctionType)
listener: endFormalParameters(1, (, ), MemberKind.GeneralizedFunctionType)
listener: endFunctionType(Function, null)
ensureSemicolon())
listener: endFunctionTypeAlias(typedef, =, ;)
listener: endTopLevelDeclaration(@)
parseTopLevelDeclarationImpl(;, Instance of 'DirectiveContext')
parseMetadataStar(;)
listener: beginMetadataStar(@)
parseMetadata(;)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
inPlainSync()
listener: handleIdentifier(abstract, metadataReference)
parseQualifiedRestOpt(abstract, metadataContinuation)
parseQualifiedRest(abstract, metadataContinuation)
ensureIdentifier(., metadataContinuation)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuation)
listener: handleQualified(.)
listener: handleNoTypeArguments(@)
parseArgumentsOpt(abstract)
listener: handleNoArguments(@)
listener: endMetadata(@, null, @)
parseMetadata(abstract)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
inPlainSync()
listener: handleIdentifier(abstract, metadataReference)
parseQualifiedRestOpt(abstract, metadataContinuation)
parseQualifiedRest(abstract, metadataContinuation)
ensureIdentifier(., metadataContinuation)
listener: handleIdentifier(bar, metadataContinuation)
listener: handleQualified(.)
listener: handleNoTypeArguments(.)
ensureIdentifier(., metadataContinuationAfterTypeArguments)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuationAfterTypeArguments)
parseArgumentsOpt(abstract)
listener: handleNoArguments(@)
listener: endMetadata(@, ., @)
parseMetadata(abstract)
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
inPlainSync()
listener: handleIdentifier(abstract, metadataReference)
parseQualifiedRestOpt(abstract, metadataContinuation)
listener: handleNoTypeArguments(()
parseArgumentsOpt(abstract)
parseArguments(abstract)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, null, @)
parseMetadata())
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
inPlainSync()
listener: handleIdentifier(abstract, metadataReference)
parseQualifiedRestOpt(abstract, metadataContinuation)
parseQualifiedRest(abstract, metadataContinuation)
ensureIdentifier(., metadataContinuation)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuation)
listener: handleQualified(.)
listener: handleNoTypeArguments(()
parseArgumentsOpt(abstract)
parseArguments(abstract)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, null, @)
parseMetadata())
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
inPlainSync()
listener: handleIdentifier(abstract, metadataReference)
parseQualifiedRestOpt(abstract, metadataContinuation)
parseQualifiedRest(abstract, metadataContinuation)
ensureIdentifier(., metadataContinuation)
listener: handleIdentifier(bar, metadataContinuation)
listener: handleQualified(.)
listener: handleNoTypeArguments(.)
ensureIdentifier(., metadataContinuationAfterTypeArguments)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuationAfterTypeArguments)
parseArgumentsOpt(abstract)
parseArguments(abstract)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, ., @)
parseMetadata())
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
inPlainSync()
listener: handleIdentifier(abstract, metadataReference)
parseQualifiedRestOpt(abstract, metadataContinuation)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
parseArgumentsOpt(>)
parseArguments(>)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, null, @)
parseMetadata())
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
inPlainSync()
listener: handleIdentifier(abstract, metadataReference)
parseQualifiedRestOpt(abstract, metadataContinuation)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
ensureIdentifier(., metadataContinuationAfterTypeArguments)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuationAfterTypeArguments)
parseArgumentsOpt(abstract)
parseArguments(abstract)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, ., @)
parseMetadata())
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
inPlainSync()
listener: handleIdentifier(abstract, metadataReference)
parseQualifiedRestOpt(abstract, metadataContinuation)
parseQualifiedRest(abstract, metadataContinuation)
ensureIdentifier(., metadataContinuation)
listener: handleIdentifier(bar, metadataContinuation)
listener: handleQualified(.)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
parseArgumentsOpt(>)
parseArguments(>)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, null, @)
parseMetadata())
listener: beginMetadata(@)
ensureIdentifier(@, metadataReference)
inPlainSync()
listener: handleIdentifier(abstract, metadataReference)
parseQualifiedRestOpt(abstract, metadataContinuation)
parseQualifiedRest(abstract, metadataContinuation)
ensureIdentifier(., metadataContinuation)
listener: handleIdentifier(bar, metadataContinuation)
listener: handleQualified(.)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
ensureIdentifier(., metadataContinuationAfterTypeArguments)
inPlainSync()
listener: handleIdentifier(abstract, metadataContinuationAfterTypeArguments)
parseArgumentsOpt(abstract)
parseArguments(abstract)
parseArgumentsRest(()
listener: beginArguments(()
parseExpression(()
parsePrecedenceExpression((, 1, true)
parseUnaryExpression((, true)
parsePrimary((, expression)
parseLiteralString(()
parseSingleLiteralString(()
listener: beginLiteralString("hello")
listener: endLiteralString(0, ))
listener: endArguments(1, (, ))
listener: endMetadata(@, ., class)
listener: endMetadataStar(9)
parseTopLevelKeywordDeclaration(), class, Instance of 'DirectiveContext')
parseClassDeclarationModifiers(), class)
parseClassOrNamedMixinApplication(null, class)
listener: beginClassOrNamedMixinApplicationPrelude(class)
ensureIdentifier(class, classOrMixinDeclaration)
listener: handleIdentifier(Y, classOrMixinDeclaration)
listener: handleNoTypeVariables({)
listener: beginClassDeclaration(class, null, Y)
parseClass(Y, class, class, Y)
parseClassHeaderOpt(Y, class, class)
parseClassExtendsOpt(Y)
listener: handleNoType(Y)
listener: handleClassExtends(null, 1)
parseWithClauseOpt(Y)
listener: handleClassNoWithClause()
parseClassOrMixinImplementsOpt(Y)
listener: handleClassOrMixinImplements(null, 0)
listener: handleClassHeader(class, class, null)
parseClassOrMixinOrExtensionBody(Y, DeclarationKind.Class, Y)
listener: beginClassOrMixinBody(DeclarationKind.Class, {)
notEofOrValue(}, })
listener: endClassOrMixinBody(DeclarationKind.Class, 0, {, })
listener: endClassDeclaration(class, })
listener: endTopLevelDeclaration()
reportAllErrorTokens(@)
listener: endCompilationUnit(12, )