import 'initializer_rewrite_from_opt_out_lib.dart';
int nonNullableTopLevelFieldReads = 0;
late ;
final int nonNullableTopLevelField = nonNullableTopLevelFieldReads++ == 0 ? nonNullableTopLevelField : computeInitialValue();
int nullableTopLevelFieldReads = 0;
late ;
final int? nullableTopLevelField = nullableTopLevelFieldReads++ == 0 ? nullableTopLevelField : computeInitialValue();
class Class {
  static int nonNullableStaticFieldReads = 0;
  static late ;
  final int nonNullableStaticField = nonNullableStaticFieldReads++ == 0 ? nonNullableStaticField : computeInitialValue();
  static int nullableStaticFieldReads = 0;
  static late ;
  final int? nullableStaticField = nullableStaticFieldReads++ == 0 ? nullableStaticField : computeInitialValue();
  int nonNullableInstanceFieldReads = 0;
  late ;
  final int nonNullableInstanceField = nonNullableInstanceFieldReads++ == 0 ? nonNullableInstanceField : computeInitialValue();
  int nullableInstanceFieldReads = 0;
  late ;
  final int? nullableInstanceField = nullableInstanceFieldReads++ == 0 ? nullableInstanceField : computeInitialValue();
}
void main() {}
throws(f(), String message) {}
