abstract class AbstractA {
  abstract final dynamic fieldAbstractFinalDynamicOfAbstractA;
  abstract num fieldAbstractNonNullableOfAbstractA;
  external final dynamic fieldExternalFinalDynamicOfAbstractA;
  external num fieldExternalNonNullableOfAbstractA;
}

abstract class AbstractB {
  abstract final dynamic fieldAbstractFinalDynamicOfAbstractB;
  abstract num fieldAbstractNonNullableOfAbstractB;
  external final dynamic fieldExternalFinalDynamicOfAbstractB;
  external num fieldExternalNonNullableOfAbstractB;
}

class A {
  final dynamic fieldFinalDynamicOfA;
  late final dynamic fieldLateFinalDynamicOfA;
  late num fieldLateNonNullableOfA;
  num fieldNonNullableOfA;
}

class B {
  factory B() => throw 42;
  final dynamic fieldFinalDynamicOfB;
  late final dynamic fieldLateFinalDynamicOfB;
  late num fieldLateNonNullableOfB;
  num fieldNonNullableOfB;
}

main() {}
mixin M {
  abstract final dynamic fieldAbstractFinalDynamicOfM;
  abstract num fieldAbstractNonNullableOfM;
  external final dynamic fieldExternalFinalDynamicOfM;
  external num fieldExternalNonNullableOfM;
  final dynamic fieldFinalDynamicOfM;
  late final dynamic fieldLateFinalDynamicOfM;
  late num fieldLateNonNullableOfM;
  num fieldNonNullableOfM;
}
