| 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 |
| : super core::Object::•() |
| ; |
| method extendedClassMember() → void {} |
| abstract method extendedInterfaceMember() → void; |
| } |
| abstract class A2 extends core::Object { |
| synthetic constructor •() → self::A2 |
| : super core::Object::•() |
| ; |
| 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 |
| : super self::_A3&A1&A2::•() |
| ; |
| 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 |
| : super core::Object::•() |
| ; |
| } |
| class A6 extends self::A1 implements self::A1 { |
| synthetic constructor •() → self::A6 |
| : super self::A1::•() |
| ; |
| } |
| abstract class B1 extends core::Object { |
| synthetic constructor •() → self::B1 |
| : super core::Object::•() |
| ; |
| method twiceInterfaceMember() → void {} |
| method extendedAndImplementedMember() → void {} |
| } |
| abstract class B2 extends core::Object { |
| synthetic constructor •() → self::B2 |
| : super core::Object::•() |
| ; |
| method twiceInterfaceMember() → void {} |
| } |
| abstract class B3 extends core::Object { |
| synthetic constructor •() → self::B3 |
| : super core::Object::•() |
| ; |
| method extendedAndImplementedMember() → void {} |
| } |
| abstract class B4 extends self::B3 implements self::B1, self::B2 { |
| synthetic constructor •() → self::B4 |
| : super self::B3::•() |
| ; |
| } |
| class B5 extends self::B4 { |
| synthetic constructor •() → self::B5 |
| : super self::B4::•() |
| ; |
| } |
| class B6 extends self::B3 implements self::B1, self::B2 { |
| synthetic constructor •() → self::B6 |
| : super self::B3::•() |
| ; |
| } |
| abstract class C1 extends core::Object { |
| synthetic constructor •() → self::C1 |
| : super core::Object::•() |
| ; |
| method mixedInAndImplementedClassMember() → void {} |
| abstract method mixedInAndImplementedInterfaceMember() → void; |
| } |
| class C2 extends core::Object { |
| synthetic constructor •() → self::C2 |
| : super core::Object::•() |
| ; |
| 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 |
| : super self::_C3&Object&C1::•() |
| ; |
| } |
| class C4 extends self::C3 { |
| synthetic constructor •() → self::C4 |
| : super self::C3::•() |
| ; |
| } |
| 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 |
| : super self::_C5&Object&C1::•() |
| ; |
| } |
| static method main() → dynamic {} |