| library; |
| import self as self; |
| import "dart:core" as core; |
| |
| class A extends core::Object { |
| field dynamic field = null; |
| synthetic constructor •() → self::A* |
| : super core::Object::•() |
| ; |
| abstract member-signature get _identityHashCode() → core::int*; |
| abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; |
| abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; |
| abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; |
| abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; |
| abstract member-signature operator ==(dynamic other) → core::bool*; |
| abstract member-signature get hashCode() → core::int*; |
| abstract member-signature method toString() → core::String*; |
| abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; |
| abstract member-signature get runtimeType() → core::Type*; |
| } |
| class B extends core::Object { |
| field dynamic field = null; |
| synthetic constructor •() → self::B* |
| : super core::Object::•() |
| ; |
| abstract member-signature get _identityHashCode() → core::int*; |
| abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; |
| abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; |
| abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; |
| abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; |
| abstract member-signature operator ==(dynamic other) → core::bool*; |
| abstract member-signature get hashCode() → core::int*; |
| abstract member-signature method toString() → core::String*; |
| abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; |
| abstract member-signature get runtimeType() → core::Type*; |
| } |
| class C extends core::Object { |
| synthetic constructor •() → self::C* |
| : super core::Object::•() |
| ; |
| operator ==(dynamic x) → core::bool* |
| return false; |
| abstract member-signature get _identityHashCode() → core::int*; |
| abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; |
| abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; |
| abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; |
| abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; |
| abstract member-signature get hashCode() → core::int*; |
| abstract member-signature method toString() → core::String*; |
| abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; |
| abstract member-signature get runtimeType() → core::Type*; |
| } |
| class X extends core::Object implements self::A, self::B { |
| field dynamic field = null; |
| synthetic constructor •() → self::X* |
| : super core::Object::•() |
| ; |
| abstract member-signature get _identityHashCode() → core::int*; |
| abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; |
| abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; |
| abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; |
| abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; |
| abstract member-signature operator ==(dynamic other) → core::bool*; |
| abstract member-signature get hashCode() → core::int*; |
| abstract member-signature method toString() → core::String*; |
| abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; |
| abstract member-signature get runtimeType() → core::Type*; |
| } |
| static method useAsA(self::A* object) → void { |
| dynamic _ = object.{self::A::field}; |
| } |
| static method useAsB(self::B* object) → void { |
| dynamic _ = object.{self::B::field}; |
| self::escape(object); |
| } |
| static method escape(dynamic x) → void { |
| x.{core::Object::==}(null) ?{dynamic} x = "" : null; |
| x.{core::Object::==}(null) ?{dynamic} x = 45 : null; |
| if(!(x is core::int*) && !(x is core::String*)) { |
| x.field = 45; |
| } |
| } |
| static method main() → dynamic { |
| self::X* object = new self::X::•(); |
| self::useAsA(new self::A::•()); |
| self::useAsA(object); |
| self::useAsB(new self::B::•()); |
| self::useAsB(object); |
| } |