blob: 57ca6116ca3520c4b2ed8530fa8ea5293d6d6bac [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/general/mixin_conflicts.dart:22:7: Error: The non-abstract class 'N2' is missing implementations for these members:
// - M.foo
// 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 N2 = Object with M2;
// ^^
// pkg/front_end/testcases/general/mixin_conflicts.dart:7:3: Context: 'M.foo' is defined here.
// foo() {}
// ^^^
//
// pkg/front_end/testcases/general/mixin_conflicts.dart:29:7: Error: The non-abstract class 'C2' is missing implementations for these members:
// - M.foo
// 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 C2 extends Object with M2 {}
// ^^
// pkg/front_end/testcases/general/mixin_conflicts.dart:7:3: Context: 'M.foo' is defined here.
// foo() {}
// ^^^
//
import self as self;
import "dart:core" as core;
class M extends core::Object {
synthetic constructor •() self::M
;
method foo() dynamic
;
}
class N = core::Object with self::M /*hasConstConstructor*/ {
const synthetic constructor •() self::N
: super core::Object::•()
;
mixin-super-stub method foo() dynamic
return super.{self::M::foo}();
}
abstract class _C&Object&N = core::Object with self::N /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() self::_C&Object&N
: super core::Object::•()
;
mixin-super-stub method foo() dynamic
return super.{self::M::foo}();
}
class C extends self::_C&Object&N {
synthetic constructor •() self::C
;
}
abstract class M2 extends core::Object implements self::M {
synthetic constructor •() self::M2
;
method bar() dynamic
;
}
class N2 = core::Object with self::M2 /*hasConstConstructor*/ {
const synthetic constructor •() self::N2
: super core::Object::•()
;
mixin-super-stub method bar() dynamic
return super.{self::M2::bar}();
}
abstract class N3 = core::Object with self::M2 /*hasConstConstructor*/ {
const synthetic constructor •() self::N3
: super core::Object::•()
;
mixin-super-stub method bar() dynamic
return super.{self::M2::bar}();
}
abstract class _C2&Object&M2 = core::Object with self::M2 /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() self::_C2&Object&M2
: super core::Object::•()
;
mixin-super-stub method bar() dynamic
return super.{self::M2::bar}();
}
class C2 extends self::_C2&Object&M2 {
synthetic constructor •() self::C2
;
}
abstract class _C3&Object&M2 = core::Object with self::M2 /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() self::_C3&Object&M2
: super core::Object::•()
;
mixin-super-stub method bar() dynamic
return super.{self::M2::bar}();
}
abstract class C3 extends self::_C3&Object&M2 {
synthetic constructor •() self::C3
;
}
static method main() dynamic
;