library;
import self as self;
import "dart:core" as core;

extension type ET(core::int? i) {
  abstract extension-type-member representation-field get i() → core::int?;
  constructor • = self::ET|constructor#;
  constructor tearoff • = self::ET|constructor#_#new#tearOff;
}
static const field dynamic a = #C1;
static const field dynamic b = #C2;
static const field core::List<core::int?> c = #C3;
static extension-type-member method ET|constructor#(core::int? i) → self::ET% /* erasure=core::int?, declared=! */ {
  lowered final self::ET% /* erasure=core::int?, declared=! */ #this = i;
  return #this;
}
static extension-type-member method ET|constructor#_#new#tearOff(core::int? i) → self::ET% /* erasure=core::int?, declared=! */
  return self::ET|constructor#(i);

constants  {
  #C1 = null
  #C2 = 0
  #C3 = <core::int?>[#C1, #C2]
}
