| library; |
| import self as self; |
| import "dart:core" as core; |
| |
| class A extends core::Object { |
| field dynamic/Null field = null; |
| constructor •() → void |
| : super core::Object::•() |
| ; |
| } |
| class B extends core::Object { |
| field dynamic/core::int* {null,int} field = null; |
| constructor •() → void |
| : super core::Object::•() |
| ; |
| } |
| class C extends core::Object { |
| constructor •() → void |
| : super core::Object::•() |
| ; |
| operator ==(dynamic/Nothing x) → dynamic/core::bool* {other} |
| return false; |
| } |
| class X extends core::Object implements self::A, self::B { |
| field dynamic/core::int* {null,int} field = null; |
| constructor •() → void |
| : super core::Object::•() |
| ; |
| } |
| static method useAsA(self::A/self::A* {other} object) → void/Null { |
| dynamic/core::int* {null,int} _ = object.field; |
| } |
| static method useAsB(self::B/self::B* {other} object) → void/Null { |
| dynamic/core::int* {null,int} _ = object.field; |
| self::escape(object); |
| } |
| static method escape(dynamic/core::Object+ {int,string,other} x) → void/Null { |
| x.==(null) ? x = "" : null; |
| x.==(null) ? x = 45 : null; |
| if(!(x is core::int) && !(x is core::String)) { |
| x.field = 45; |
| } |
| } |
| static method main() → dynamic/Null { |
| dynamic/self::X! {other} object = new self::X::•(); |
| self::useAsA(new self::A::•()); |
| self::useAsA(object); |
| self::useAsB(new self::B::•()); |
| self::useAsB(object); |
| } |