abstract class A {
  A(this.initializedField1) : this.initializedField2 = 0;
  external int fieldWithInitializer = 0;
  external int initializedField1;
  external int initializedField2;
  external static final int finalStaticField = 0;
  external static int staticField = 0;
}

extension Extension on A {
  external final int finalExtensionInstanceField = 0;
  external int extensionInstanceField = 0;
  external static final int finalExtensionStaticField = 0;
  external static int extensionStaticField = 0;
}

external const int constField = 0;
external final int finalTopLevelField = 0;
external int topLevelField = 0;
main() {}
mixin B {
  external static final int finalStaticField = 0;
  external static int staticField = 0;
}
