| library test; |
| import self as self; |
| import "dart:core" as core; |
| |
| abstract class I1 extends core::Object { |
| synthetic constructor •() → self::I1* |
| : super core::Object::•() |
| ; |
| abstract method f(core::int* i) → void; |
| } |
| abstract class I2 extends core::Object { |
| synthetic constructor •() → self::I2* |
| : super core::Object::•() |
| ; |
| abstract method f(core::Object* o) → void; |
| } |
| abstract class C extends core::Object implements self::I1, self::I2 { |
| synthetic constructor •() → self::C* |
| : super core::Object::•() |
| ; |
| abstract forwarding-stub method f(core::Object* o) → void; |
| } |
| class D extends self::C { |
| synthetic constructor •() → self::D* |
| : super self::C::•() |
| ; |
| method f(core::Object* o) → void {} |
| } |
| abstract class E extends core::Object implements self::I2, self::I1 { |
| synthetic constructor •() → self::E* |
| : super core::Object::•() |
| ; |
| } |
| class F extends self::E { |
| synthetic constructor •() → self::F* |
| : super self::E::•() |
| ; |
| method f(core::Object* o) → void {} |
| } |
| static method g1(self::C* c) → void { |
| c.{self::C::f}("hi"); |
| } |
| static method g2(self::E* e) → void { |
| e.{self::I2::f}("hi"); |
| } |
| static method main() → dynamic { |
| self::g1(new self::D::•()); |
| self::g2(new self::F::•()); |
| } |