| parseUnit(extension) | |
| skipErrorTokens(extension) | |
| listener: beginCompilationUnit(extension) | |
| syntheticPreviousToken(extension) | |
| parseTopLevelDeclarationImpl(, DirectiveContext(DirectiveState.Unknown)) | |
| parseMetadataStar() | |
| listener: beginMetadataStar(extension) | |
| listener: endMetadataStar(0) | |
| parseTopLevelKeywordDeclaration(extension, , extension, null, null, null, DirectiveContext(DirectiveState.Unknown)) | |
| parseExtension(extension, null, extension) | |
| listener: beginExtensionDeclarationPrelude(extension) | |
| parseExtensionDeclaration(extension, extension, null, extension) | |
| listener: handleNoTypeVariables(on) | |
| listener: beginExtensionDeclaration(null, extension, Extension) | |
| parsePrimaryConstructorOpt(DeclarationKind.Extension, Extension, const, allowExtensionTypeRepresentation: true) | |
| reportRecoverableError(const, ExtensionPrimaryConstructor) | |
| listener: handleRecoverableError(ExtensionPrimaryConstructor, const, const) | |
| listener: handleNoPrimaryConstructor(DeclarationKind.Extension, Extension, const) | |
| listener: handleIdentifier(int, typeReference) | |
| listener: handleNoTypeArguments({) | |
| listener: handleType(int, null) | |
| parseClassOrMixinOrExtensionBody(int, DeclarationKind.Extension, Extension) | |
| listener: beginClassOrMixinOrExtensionBody(DeclarationKind.Extension, {) | |
| notEofOrType(CLOSE_CURLY_BRACKET, }) | |
| listener: endClassOrMixinOrExtensionBody(DeclarationKind.Extension, 0, {, }) | |
| listener: endExtensionDeclaration(extension, extension, on, }) | |
| listener: endTopLevelDeclaration(}) | |
| reportAllErrorTokens(extension) | |
| listener: endCompilationUnit(1, ) |