library test;

abstract class B implements C {
  get x;
}

abstract class C {
  int get x;
}

class A implements B {
  get x => f();
}

dynamic f() => null;
main() {}
