library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:_internal" as _in;

class A extends core::Object {
  field core::int? field = null;
  synthetic constructor •() → self::A
    : super core::Object::•()
    ;
}
class B extends core::Object implements self::A {
  field core::int? _#B#field = null;
  field core::bool _#B#field#isSet = false;
  synthetic constructor •() → self::B
    : super core::Object::•()
    ;
  get field() → core::int?
    return this.{self::B::_#B#field#isSet}{core::bool} ?{core::int?} this.{self::B::_#B#field}{core::int?} : throw new _in::LateError::fieldNI("field");
  set field(core::int? field#param) → void {
    this.{self::B::_#B#field#isSet} = true;
    this.{self::B::_#B#field} = field#param;
  }
}
static method main() → dynamic {}
