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

class A extends core::Object implements self::B {
  synthetic constructor •() → self::A*
    ;
  get x() → core::int*
    ;
  set x(core::int* value) → void
    ;
}
class B extends core::Object {
  field core::int* x;
  synthetic constructor •() → self::B*
    ;
}
static method f() → dynamic
  ;
static method main() → dynamic
  ;
