class Class {
  late final int initializedFinalInstanceField = 0;
  late final int uninitializedFinalInstanceField;
  late int initializedNonFinalInstanceField = 0;
  late int uninitializedNonFinalInstanceField;
  static late final int initializedFinalStaticField = 0;
  static late final int uninitializedFinalStaticField;
  static late int initializedNonFinalStaticField = 0;
  static late int uninitializedNonFinalStaticField;
}

late final int initializedFinalTopLevelField = 0;
late final int uninitializedFinalTopLevelField;
late int initializedNonFinalTopLevelField = 0;
late int uninitializedNonFinalTopLevelField;
main() {}
method() {}
