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;
  get nullableInstanceField => 0;
  set nonNullableInstanceField(value) {}
  set nullableInstanceField(value) {}
}

int? method() => null;
late var nonNullableTopLevelField = 0;
late var nullableTopLevelField = method();
main() {}
