class Class {
  late int ;
  field1;
  late int ;
  field2;
  late ;
  final int field3;
  late ;
  final int field4;
}
class SubClass extends Class {
  late int ;
  field1;
  late int ;
  field2 = 0;
  late ;
  final int field3;
  late ;
  final int field4 = 0;
  int get directField1 => super.field1;
  void set directField1(int value) { }
  int get directField2 => super.field2;
  void set directField2(int value) { }
  int get directField3 => super.field3;
  int get directField4 => super.field4;
}
main() { }
expect(expected, actual) { }
throws(f(), String message) { }
