int? method() => null;
late ;
var nonNullableTopLevelField = 0;
late ;
var nullableTopLevelField = method();
class A {
  late ;
  var nonNullableInstanceField = 0;
  late ;
  var nullableInstanceField = method();
  static late ;
  var nonNullableStaticField = 0;
  static late ;
  var nullableStaticField = method();
}
class B extends A {
  get nonNullableInstanceField => 0;
  set nonNullableInstanceField(value) {}
  get nullableInstanceField => 0;
  set nullableInstanceField(value) {}
}
main() {}
