| library /*isNonNullableByDefault*/; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/general/abstract_super_application.dart:26:7: Error: 'Object' doesn't implement 'Super' so it can't be used with 'Mixin'. |
| // - 'Object' is from 'dart:core'. |
| // - 'Super' is from 'pkg/front_end/testcases/general/abstract_super_application.dart'. |
| // - 'Mixin' is from 'pkg/front_end/testcases/general/abstract_super_application.dart'. |
| // class Class2 with Mixin implements Super {} |
| // ^ |
| // |
| // pkg/front_end/testcases/general/abstract_super_application.dart:26:19: Error: The class doesn't have a concrete implementation of the super-invoked member 'method'. |
| // class Class2 with Mixin implements Super {} |
| // ^ |
| // pkg/front_end/testcases/general/abstract_super_application.dart:12:11: Context: This is the super-access that doesn't have a concrete target. |
| // super.method(); |
| // ^ |
| // |
| // pkg/front_end/testcases/general/abstract_super_application.dart:26:19: Error: The class doesn't have a concrete implementation of the super-accessed member 'property'. |
| // class Class2 with Mixin implements Super {} |
| // ^ |
| // pkg/front_end/testcases/general/abstract_super_application.dart:16:18: Context: This is the super-access that doesn't have a concrete target. |
| // return super.property; |
| // ^ |
| // |
| // pkg/front_end/testcases/general/abstract_super_application.dart:26:19: Error: The class doesn't have a concrete implementation of the super-accessed setter 'property'. |
| // class Class2 with Mixin implements Super {} |
| // ^ |
| // pkg/front_end/testcases/general/abstract_super_application.dart:20:11: Context: This is the super-access that doesn't have a concrete target. |
| // super.property = value; |
| // ^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| |
| class Super extends core::Object { |
| field core::int property = 42; |
| synthetic constructor •() → self::Super |
| : super core::Object::•() |
| ; |
| method method() → void {} |
| } |
| abstract class Mixin extends self::Super /*isMixinDeclaration*/ { |
| method method() → void { |
| super.{self::Super::method}(); |
| } |
| get property() → core::int { |
| return super.{self::Super::property}; |
| } |
| set property(core::int value) → void { |
| super.{self::Super::property} = value; |
| } |
| } |
| abstract class _Class1&Super&Mixin = self::Super with self::Mixin /*isAnonymousMixin*/ { |
| synthetic constructor •() → self::_Class1&Super&Mixin |
| : super self::Super::•() |
| ; |
| mixin-super-stub get property() → core::int |
| return super.{self::Mixin::property}; |
| mixin-super-stub set property(core::int value) → void |
| return super.{self::Mixin::property} = value; |
| mixin-super-stub method method() → void |
| return super.{self::Mixin::method}(); |
| } |
| class Class1 extends self::_Class1&Super&Mixin { |
| synthetic constructor •() → self::Class1 |
| : super self::_Class1&Super&Mixin::•() |
| ; |
| } |
| abstract class _Class2&Object&Mixin = core::Object with self::Mixin /*isAnonymousMixin,hasConstConstructor*/ { |
| const synthetic constructor •() → self::_Class2&Object&Mixin |
| : super core::Object::•() |
| ; |
| mixin-super-stub get property() → core::int |
| return super.{self::Mixin::property}; |
| mixin-super-stub set property(core::int value) → void |
| return super.{self::Mixin::property} = value; |
| mixin-super-stub method method() → void |
| return super.{self::Mixin::method}(); |
| } |
| class Class2 extends self::_Class2&Object&Mixin implements self::Super { |
| synthetic constructor •() → self::Class2 |
| : super self::_Class2&Object&Mixin::•() |
| ; |
| } |