| library /*isNonNullableByDefault*/; |
| 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 = #C1}) → 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 { |
| synthetic constructor •() → self::B<self::B::X%> |
| : super core::Object::•() |
| ; |
| abstract method foo(covariant-by-class self::B::X% x) → self::B::X%; |
| abstract method bar({required covariant-by-class self::B::X% x = #C1}) → 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 = self::A with self::B<core::num> /*isAnonymousMixin*/ { |
| synthetic constructor •() → self::_C&A&B |
| : super self::A::•() |
| ; |
| forwarding-stub set boz(covariant-by-class core::num x) → void |
| return super.{self::A::boz} = x as core::int; |
| forwarding-stub method foo(covariant-by-class core::num x) → core::num |
| return super.{self::A::foo}(x as core::int); |
| forwarding-stub method bar({required covariant-by-class core::num x = #C1}) → core::num |
| return super.{self::A::bar}(x: x as core::int); |
| forwarding-stub 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"; |
| } |
| |
| constants { |
| #C1 = null |
| } |