blob: 7b80967fbda0403188882c787f05c60bbd070058 [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/hierarchy.dart:24:7: Error: 'A1' can't be used in both 'extends' and 'implements' clauses.
// Try removing one of the occurrences.
// class A6 extends A1 implements A1 {}
// ^
//
// pkg/front_end/testcases/general/hierarchy.dart:24:7: Error: The non-abstract class 'A6' is missing implementations for these members:
// - A1.extendedInterfaceMember
// Try to either
// - provide an implementation,
// - inherit an implementation from a superclass or mixin,
// - mark the class as abstract, or
// - provide a 'noSuchMethod' implementation.
//
// class A6 extends A1 implements A1 {}
// ^^
// pkg/front_end/testcases/general/hierarchy.dart:7:8: Context: 'A1.extendedInterfaceMember' is defined here.
// void extendedInterfaceMember();
// ^^^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/hierarchy.dart:41:7: Error: The non-abstract class 'B5' is missing implementations for these members:
// - B1.twiceInterfaceMember
// - B2.twiceInterfaceMember
// Try to either
// - provide an implementation,
// - inherit an implementation from a superclass or mixin,
// - mark the class as abstract, or
// - provide a 'noSuchMethod' implementation.
//
// class B5 extends B4 {}
// ^^
// pkg/front_end/testcases/general/hierarchy.dart:27:8: Context: 'B1.twiceInterfaceMember' is defined here.
// void twiceInterfaceMember() {}
// ^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/general/hierarchy.dart:32:8: Context: 'B2.twiceInterfaceMember' is defined here.
// void twiceInterfaceMember() {}
// ^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/hierarchy.dart:43:7: Error: The non-abstract class 'B6' is missing implementations for these members:
// - B1.twiceInterfaceMember
// - B2.twiceInterfaceMember
// Try to either
// - provide an implementation,
// - inherit an implementation from a superclass or mixin,
// - mark the class as abstract, or
// - provide a 'noSuchMethod' implementation.
//
// class B6 extends B3 implements B1, B2 {}
// ^^
// pkg/front_end/testcases/general/hierarchy.dart:27:8: Context: 'B1.twiceInterfaceMember' is defined here.
// void twiceInterfaceMember() {}
// ^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/general/hierarchy.dart:32:8: Context: 'B2.twiceInterfaceMember' is defined here.
// void twiceInterfaceMember() {}
// ^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/hierarchy.dart:57:7: Error: The non-abstract class 'C4' is missing implementations for these members:
// - C1.mixedInAndImplementedInterfaceMember
// - C2.mixedInAndImplementedInterfaceMember
// Try to either
// - provide an implementation,
// - inherit an implementation from a superclass or mixin,
// - mark the class as abstract, or
// - provide a 'noSuchMethod' implementation.
//
// class C4 extends C3 {}
// ^^
// pkg/front_end/testcases/general/hierarchy.dart:47:8: Context: 'C1.mixedInAndImplementedInterfaceMember' is defined here.
// void mixedInAndImplementedInterfaceMember();
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/general/hierarchy.dart:52:8: Context: 'C2.mixedInAndImplementedInterfaceMember' is defined here.
// void mixedInAndImplementedInterfaceMember() {}
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//
// pkg/front_end/testcases/general/hierarchy.dart:59:7: Error: The non-abstract class 'C5' is missing implementations for these members:
// - C1.mixedInAndImplementedInterfaceMember
// - C2.mixedInAndImplementedInterfaceMember
// Try to either
// - provide an implementation,
// - inherit an implementation from a superclass or mixin,
// - mark the class as abstract, or
// - provide a 'noSuchMethod' implementation.
//
// class C5 with C1 implements C2 {}
// ^^
// pkg/front_end/testcases/general/hierarchy.dart:47:8: Context: 'C1.mixedInAndImplementedInterfaceMember' is defined here.
// void mixedInAndImplementedInterfaceMember();
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// pkg/front_end/testcases/general/hierarchy.dart:52:8: Context: 'C2.mixedInAndImplementedInterfaceMember' is defined here.
// void mixedInAndImplementedInterfaceMember() {}
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//
import self as self;
import "dart:core" as core;
abstract class A1 extends core::Object {
synthetic constructor •() self::A1
;
method extendedClassMember() void
;
abstract method extendedInterfaceMember() void;
}
abstract class A2 extends core::Object {
synthetic constructor •() self::A2
;
method mixedInClassMember() void
;
abstract method mixedInInterfaceMember() void;
}
abstract class _A3&A1&A2 = self::A1 with self::A2 /*isAnonymousMixin*/ {
synthetic constructor •() self::_A3&A1&A2
: super self::A1::•()
;
mixin-super-stub method mixedInClassMember() void
return super.{self::A2::mixedInClassMember}();
abstract mixin-stub method mixedInInterfaceMember() void; -> self::A2::mixedInInterfaceMember
}
abstract class A3 extends self::_A3&A1&A2 {
synthetic constructor •() self::A3
;
method declaredClassMember() void
;
abstract method declaredInterfaceMember() void;
}
abstract class A4 = self::A1 with self::A2 {
synthetic constructor •() self::A4
: super self::A1::•()
;
mixin-super-stub method mixedInClassMember() void
return super.{self::A2::mixedInClassMember}();
abstract mixin-stub method mixedInInterfaceMember() void; -> self::A2::mixedInInterfaceMember
}
abstract class A5 extends core::Object implements self::A1 {
synthetic constructor •() self::A5
;
}
class A6 extends self::A1 implements self::A1 {
synthetic constructor •() self::A6
;
}
abstract class B1 extends core::Object {
synthetic constructor •() self::B1
;
method twiceInterfaceMember() void
;
method extendedAndImplementedMember() void
;
}
abstract class B2 extends core::Object {
synthetic constructor •() self::B2
;
method twiceInterfaceMember() void
;
}
abstract class B3 extends core::Object {
synthetic constructor •() self::B3
;
method extendedAndImplementedMember() void
;
}
abstract class B4 extends self::B3 implements self::B1, self::B2 {
synthetic constructor •() self::B4
;
}
class B5 extends self::B4 {
synthetic constructor •() self::B5
;
}
class B6 extends self::B3 implements self::B1, self::B2 {
synthetic constructor •() self::B6
;
}
abstract class C1 extends core::Object {
synthetic constructor •() self::C1
;
method mixedInAndImplementedClassMember() void
;
abstract method mixedInAndImplementedInterfaceMember() void;
}
class C2 extends core::Object {
synthetic constructor •() self::C2
;
method mixedInAndImplementedClassMember() void
;
method mixedInAndImplementedInterfaceMember() void
;
}
abstract class _C3&Object&C1 = core::Object with self::C1 /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() self::_C3&Object&C1
: super core::Object::•()
;
mixin-super-stub method mixedInAndImplementedClassMember() void
return super.{self::C1::mixedInAndImplementedClassMember}();
abstract mixin-stub method mixedInAndImplementedInterfaceMember() void; -> self::C1::mixedInAndImplementedInterfaceMember
}
abstract class C3 extends self::_C3&Object&C1 implements self::C2 {
synthetic constructor •() self::C3
;
}
class C4 extends self::C3 {
synthetic constructor •() self::C4
;
}
abstract class _C5&Object&C1 = core::Object with self::C1 /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() self::_C5&Object&C1
: super core::Object::•()
;
mixin-super-stub method mixedInAndImplementedClassMember() void
return super.{self::C1::mixedInAndImplementedClassMember}();
abstract mixin-stub method mixedInAndImplementedInterfaceMember() void; -> self::C1::mixedInAndImplementedInterfaceMember
}
class C5 extends self::_C5&Object&C1 implements self::C2 {
synthetic constructor •() self::C5
;
}
static method main() dynamic
;