int? lateTopLevelField1Init;
int? initLateTopLevelField1(int value) {}
late ;
final int? lateTopLevelField1 = initLateTopLevelField1(123);
class Class<T> {
  static int? lateStaticField1Init;
  static int? initLateStaticField1(int value) {}
  static late ;
  final int? lateStaticField1 = initLateStaticField1(87);
  static int? lateStaticField2Init;
  static int? initLateStaticField2(int value) {}
  static late ;
  final int? lateStaticField2 = initLateStaticField2(42);
  static staticMethod() {}
  int? lateInstanceFieldInit;
  int? initLateInstanceField(int value) {}
  late ;
  final int? lateInstanceField = initLateInstanceField(16);
  T? lateGenericInstanceFieldInit;
  T? initLateGenericInstanceField(T? value) {}
  final T? field;
  late ;
  final T? lateGenericInstanceField = initLateGenericInstanceField(field);
  Class(this.field);
  instanceMethod() {}
}
extension Extension<T> (){}
on Class<T> (){}
main() {}
expect(expected, actual) {}
