library test;
import self as self;
import "dart:core" as core;

class A extends core::Object {
  field dynamic x = null;
  synthetic constructor •() → void
    : super core::Object::•()
    ;
}
class B extends core::Object implements self::A {
  field dynamic x = 2;
  synthetic constructor •() → void
    : super core::Object::•()
    ;
}
static method foo() → dynamic {
  core::String y = new self::B::•().x;
  core::int z = new self::B::•().x;
}
static method main() → dynamic {}
