class C extends B {
  var field;
}

class B extends A {
  get field => throw '';
  set field(value) {}
}

class A {
  var field = method();
}

var topLevelFieldFromA = new A().field;

var topLevelFieldFromB = new B().field;

var topLevelFieldFromC = new C().field;

int? method() => 0;

main() {}
