| Problems reported: |
| |
| parser/extension_named_type:3:16: An extension type declaration must have a primary constructor declaration. |
| extension type on A { |
| ^^ |
| |
| parser/extension_named_type:3:19: Unexpected token 'A'. |
| extension type on A { |
| ^ |
| |
| beginCompilationUnit(class) |
| beginMetadataStar(class) |
| endMetadataStar(0) |
| beginClassOrMixinOrNamedMixinApplicationPrelude(class) |
| handleIdentifier(A, classOrMixinDeclaration) |
| handleNoTypeVariables({) |
| beginClassDeclaration(class, null, null, null, null, null, null, null, null, A) |
| handleNoType(A) |
| handleClassExtends(null, 1) |
| handleClassNoWithClause() |
| handleImplements(null, 0) |
| handleClassHeader(class, class, null) |
| beginClassOrMixinOrExtensionBody(DeclarationKind.Class, {) |
| endClassOrMixinOrExtensionBody(DeclarationKind.Class, 0, {, }) |
| endClassDeclaration(class, }) |
| endTopLevelDeclaration(}) |
| beginMetadataStar(extension) |
| endMetadataStar(0) |
| beginExtensionDeclarationPrelude(extension) |
| handleNoTypeVariables(A) |
| beginExtensionTypeDeclaration(null, extension, on) |
| handleRecoverableError(MissingPrimaryConstructor, on, on) |
| handleNoPrimaryConstructor(on, null) |
| handleImplements(null, 0) |
| handleRecoverableError(Message[UnexpectedToken, Unexpected token 'A'., null, {lexeme: A}], A, A) |
| handleNoType(A) |
| handleClassExtends(null, 1) |
| handleClassNoWithClause() |
| handleImplements(null, 0) |
| handleRecoverDeclarationHeader(DeclarationHeaderKind.ExtensionType) |
| beginClassOrMixinOrExtensionBody(DeclarationKind.ExtensionType, {) |
| beginMetadataStar(method) |
| endMetadataStar(0) |
| beginMember() |
| beginMethod(DeclarationKind.ExtensionType, null, null, null, null, null, null, method) |
| handleNoType({) |
| handleIdentifier(method, methodDeclaration) |
| handleNoTypeVariables(() |
| beginFormalParameters((, MemberKind.ExtensionTypeNonStaticMethod) |
| endFormalParameters(0, (, ), MemberKind.ExtensionTypeNonStaticMethod) |
| handleNoInitializers() |
| handleAsyncModifier(null, null) |
| beginBlockFunctionBody({) |
| endBlockFunctionBody(0, {, }) |
| endExtensionTypeMethod(null, method, (, null, }) |
| endMember() |
| endClassOrMixinOrExtensionBody(DeclarationKind.ExtensionType, 1, {, }) |
| endExtensionTypeDeclaration(extension, null, extension, type, }) |
| endTopLevelDeclaration(}) |
| beginMetadataStar(test) |
| endMetadataStar(0) |
| beginTopLevelMember(test) |
| beginTopLevelMethod(}, null, null) |
| handleNoType(}) |
| handleIdentifier(test, topLevelFunctionDeclaration) |
| handleNoTypeVariables(() |
| beginFormalParameters((, MemberKind.TopLevelMethod) |
| beginMetadataStar(A) |
| endMetadataStar(0) |
| beginFormalParameter(A, MemberKind.TopLevelMethod, null, null, null) |
| handleIdentifier(A, typeReference) |
| handleNoTypeArguments(a) |
| handleType(A, null) |
| handleIdentifier(a, formalParameterDeclaration) |
| handleFormalParameterWithoutValue()) |
| endFormalParameter(null, null, null, a, null, null, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod) |
| endFormalParameters(1, (, ), MemberKind.TopLevelMethod) |
| handleAsyncModifier(null, null) |
| handleIdentifier(type, expression) |
| handleNoTypeArguments(() |
| beginArguments(() |
| beginNewExpression(new) |
| handleIdentifier(A, constructorReference) |
| beginConstructorReference(A) |
| handleNoTypeArguments(() |
| handleNoConstructorReferenceContinuationAfterTypeArguments(A) |
| endConstructorReference(A, null, A, ConstructorReferenceContext.New) |
| beginArguments(() |
| endArguments(0, (, )) |
| endNewExpression(new) |
| endArguments(1, (, )) |
| handleSend(type, .) |
| handleIdentifier(method, expressionContinuation) |
| handleNoTypeArguments(() |
| beginArguments(() |
| endArguments(0, (, )) |
| handleSend(method, ;) |
| handleEndingBinaryExpression(.) |
| handleExpressionFunctionBody(=>, ;) |
| endTopLevelMethod(test, null, ;) |
| endTopLevelDeclaration(;) |
| endCompilationUnit(3, ) |