blob: f7ece344c351a4de3336119aa7e3b8472880ea53 [file] [log] [blame]
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);
}