|  | library; | 
|  | import self as self; | 
|  | import "dart:core" as core; | 
|  |  | 
|  | class A extends core::Object { | 
|  | field core::int boz = 0; | 
|  | synthetic constructor •() → self::A | 
|  | : super core::Object::•() | 
|  | ; | 
|  | method foo(core::int n) → core::num { | 
|  | core::print(n.{core::Object::runtimeType}{core::Type}); | 
|  | return 1.1; | 
|  | } | 
|  | method bar({required core::int x}) → core::num { | 
|  | core::print(x.{core::Object::runtimeType}{core::Type}); | 
|  | return 1.1; | 
|  | } | 
|  | set baz(core::int x) → void { | 
|  | core::print(x.{core::Object::runtimeType}{core::Type}); | 
|  | } | 
|  | } | 
|  | abstract class B<X extends core::Object? = dynamic> extends core::Object /*isMixinDeclaration*/  { | 
|  | abstract method foo(covariant-by-class self::B::X% x) → self::B::X%; | 
|  | abstract method bar({required covariant-by-class self::B::X% x}) → self::B::X%; | 
|  | abstract set baz(covariant-by-class self::B::X% x) → void; | 
|  | abstract set boz(covariant-by-class self::B::X% x) → void; | 
|  | } | 
|  | abstract class _C&A&B extends self::A implements self::B<core::num> /*isAnonymousMixin,isEliminatedMixin*/  { | 
|  | synthetic constructor •() → self::_C&A&B | 
|  | : super self::A::•() | 
|  | ; | 
|  | method foo(covariant-by-class core::num x) → core::num | 
|  | return super.{self::A::foo}(x as core::int); | 
|  | method bar({required covariant-by-class core::num x}) → core::num | 
|  | return super.{self::A::bar}(x: x as core::int); | 
|  | set boz(covariant-by-class core::num x) → void | 
|  | return super.{self::A::boz} = x as core::int; | 
|  | set baz(covariant-by-class core::num x) → void | 
|  | return super.{self::A::baz} = x as core::int; | 
|  | } | 
|  | class C extends self::_C&A&B { | 
|  | synthetic constructor •() → self::C | 
|  | : super self::_C&A&B::•() | 
|  | ; | 
|  | } | 
|  | static method main() → void { | 
|  | self::C a = new self::C::•(); | 
|  | a.{self::_C&A&B::foo}(1){(core::num) → core::num}; | 
|  | self::throws(() → void => a.{self::_C&A&B::foo}(1.2){(core::num) → core::num}); | 
|  | a.{self::_C&A&B::bar}(x: 1){({required x: core::num}) → core::num}; | 
|  | self::throws(() → void => a.{self::_C&A&B::bar}(x: 1.2){({required x: core::num}) → core::num}); | 
|  | a.{self::_C&A&B::baz} = 1; | 
|  | self::throws(() → void => a.{self::_C&A&B::baz} = 1.2); | 
|  | a.{self::_C&A&B::boz} = 1; | 
|  | self::throws(() → void => a.{self::_C&A&B::boz} = 1.2); | 
|  | } | 
|  | static method throws(() → void f) → dynamic { | 
|  | try { | 
|  | f(){() → void}; | 
|  | } | 
|  | on core::Object catch(final core::Object e) { | 
|  | core::print(e); | 
|  | return; | 
|  | } | 
|  | throw "Exception expected"; | 
|  | } |