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

abstract class A extends core::Object {
  synthetic constructor •() → self::A*
    ;
  abstract get x() → core::int*;
}
class B extends self::A {
  final field core::int* x;
  constructor •(dynamic x) → self::B*
    ;
}
static method main() → dynamic
  ;
