abstract int topLevelField;
abstract final int finalTopLevelField = 0;
abstract const int constField = 0;
abstract class A {
  abstract int fieldWithInitializer = 0;
  abstract int initializedField1;
  abstract int initializedField2;
  A(this.initializedField1) : this.initializedField2 = 0;
  abstract static int staticField;
  abstract static final int finalStaticField;
  abstract late int ;
  lateInstanceField;
  external abstract int externalInstanceField1;
  external abstract final int externalFinalInstanceField1;
  external abstract covariant num externalCovariantInstanceField1;
  abstract external int externalInstanceField2;
  abstract external final int externalFinalInstanceField2;
  abstract external covariant num externalCovariantInstanceField2;
  external abstract late int ;
  externalLateInstanceField;
}
mixin B {
  abstract static int staticField;
  abstract static final int finalStaticField;
  external abstract int externalInstanceField;
  external abstract final int externalFinalInstanceField;
  external abstract covariant num externalCovariantInstanceField;
}
extension Extension ;
on A (){}
main() {}
