| beginCompilationUnit(class) |
| beginMetadataStar(class) |
| endMetadataStar(0) |
| beginClassOrNamedMixinApplicationPrelude(class) |
| handleIdentifier(A, classOrMixinDeclaration) |
| handleNoTypeVariables({) |
| beginClassDeclaration(class, null, A) |
| handleNoType(A) |
| handleClassExtends(null, 1) |
| handleClassNoWithClause() |
| handleClassOrMixinImplements(null, 0) |
| handleClassHeader(class, class, null) |
| beginClassOrMixinBody(DeclarationKind.Class, {) |
| endClassOrMixinBody(DeclarationKind.Class, 0, {, }) |
| endClassDeclaration(class, }) |
| endTopLevelDeclaration(extension) |
| beginMetadataStar(extension) |
| endMetadataStar(0) |
| beginExtensionDeclarationPrelude(extension) |
| handleNoTypeVariables(on) |
| beginExtensionDeclaration(extension, E) |
| handleIdentifier(A, typeReference) |
| handleNoTypeArguments({) |
| handleType(A, null) |
| beginClassOrMixinBody(DeclarationKind.Extension, {) |
| endClassOrMixinBody(DeclarationKind.Extension, 0, {, }) |
| endExtensionDeclaration(extension, type, on, }) |
| endTopLevelDeclaration() |
| endCompilationUnit(2, ) |