| library /*isNonNullableByDefault*/; |
| import self as self; |
| import "dart:core" as core; |
| |
| class A extends core::Object { |
| synthetic constructor •() → self::A |
| : super core::Object::•() |
| ; |
| method m(core::num n) → void {} |
| } |
| class B extends self::A { |
| synthetic constructor •() → self::B |
| : super self::A::•() |
| ; |
| forwarding-stub forwarding-semi-stub method /* signature-type: (core::int) → void */ m(covariant-by-declaration core::num i) → void |
| return super.{self::A::m}(i); |
| } |
| class C extends self::B { |
| synthetic constructor •() → self::C |
| : super self::B::•() |
| ; |
| method m(covariant-by-declaration core::int i) → void {} |
| } |
| static method main() → dynamic { |
| self::A a = new self::C::•(); |
| self::throws(() → void => a.{self::A::m}(1.5){(core::num) → void}); |
| a = new self::B::•(); |
| a.{self::A::m}(1.5){(core::num) → void}; |
| } |
| static method throws(() → void f) → dynamic { |
| try { |
| f(){() → void}; |
| } |
| on core::Object catch(final core::Object e) { |
| core::print(e); |
| return; |
| } |
| throw "Exception expected"; |
| } |