blob: 5ed308d75cad95db3a27a91594296420cbb18a3e [file] [log] [blame]
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
abstract class M extends core::Object {
field dynamic m = null;
synthetic constructor •() self::M
: super core::Object::•()
;
}
abstract class N extends self::M {
synthetic constructor •() self::N
: super self::M::•()
;
set superM(dynamic value) void {
super.{self::M::m} = value;
}
get superM() dynamic
return super.{self::M::m};
}
class S extends core::Object {
synthetic constructor •() self::S
: super core::Object::•()
;
}
abstract class _Named&S&M = self::S with self::M /*isAnonymousMixin*/ {
synthetic constructor •() self::_Named&S&M
: super self::S::•()
;
mixin-super-stub get m() dynamic
return super.{self::M::m};
mixin-super-stub set m(dynamic value) void
return super.{self::M::m} = value;
}
abstract class _Named&S&M&N = self::_Named&S&M with self::N /*isAnonymousMixin*/ {
synthetic constructor •() self::_Named&S&M&N
: super self::_Named&S&M::•()
;
mixin-super-stub get superM() dynamic
return super.{self::N::superM};
mixin-super-stub set superM(dynamic value) void
return super.{self::N::superM} = value;
}
class Named = self::_Named&S&M&N with self::M {
synthetic constructor •() self::Named
: super self::_Named&S&M&N::•()
;
mixin-super-stub get m() dynamic
return super.{self::M::m};
mixin-super-stub set m(dynamic value) void
return super.{self::M::m} = value;
}
static method main() dynamic {
self::Named named = new self::Named::•();
named.{self::Named::m} = 42;
named.{self::_Named&S&M&N::superM} = 87;
if(!(named.{self::Named::m}{dynamic} =={core::Object::==}{(core::Object) core::bool} 42)) {
throw "Bad mixin translation of set:superM";
}
if(!(named.{self::_Named&S&M&N::superM}{dynamic} =={core::Object::==}{(core::Object) core::bool} 87)) {
throw "Bad mixin translation of get:superM";
}
}