| 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 extends self::S implements self::M /*isAnonymousMixin,isEliminatedMixin*/ { |
| field dynamic m = null; |
| synthetic constructor •() → self::_Named&S&M |
| : super self::S::•() |
| ; |
| } |
| abstract class _Named&S&M&N extends self::_Named&S&M implements self::N /*isAnonymousMixin,isEliminatedMixin*/ { |
| synthetic constructor •() → self::_Named&S&M&N |
| : super self::_Named&S&M::•() |
| ; |
| get superM() → dynamic |
| return super.{self::M::m}; |
| set superM(dynamic value) → void { |
| super.{self::M::m} = value; |
| } |
| } |
| class Named extends self::_Named&S&M&N implements self::M /*isEliminatedMixin*/ { |
| field dynamic m = null; |
| synthetic constructor •() → self::Named |
| : super self::_Named&S&M&N::•() |
| ; |
| } |
| 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"; |
| } |
| } |