| library; |
| import self as self; |
| import "dart:core" as core; |
| |
| abstract class Base extends core::Object { |
| constructor •() → void |
| : super core::Object::•() |
| ; |
| } |
| class Foo extends self::Base { |
| constructor •() → void |
| : super self::Base::•() |
| ; |
| } |
| class Bar extends self::Base { |
| constructor •() → void |
| : super self::Base::•() |
| ; |
| } |
| class Baz extends self::Base { |
| constructor •() → void |
| : super self::Base::•() |
| ; |
| } |
| static method foo(dynamic/self::Foo! {other} x) → void/Null {} |
| static method bar(dynamic/self::Bar! {other} x) → void/Null {} |
| static method foo_escaped(dynamic/core::Object+ {*} x) → void/Null {} |
| static method bar_escaped(dynamic/core::Object+ {*} x) → void/Null {} |
| static method escape(dynamic/core::Function* {other} fn) → void/Null { |
| fn.call(new self::Baz::•()); |
| } |
| static method main() → dynamic/Null { |
| self::foo(new self::Foo::•()); |
| self::bar(new self::Bar::•()); |
| self::escape(self::foo_escaped); |
| self::escape(self::bar_escaped); |
| } |