blob: c9780cd8e0aa88f43c354691119fd3512eb29668 [file] [log] [blame]
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 {}
// ^
//
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::•()
;
}