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

class A extends core::Object {
  field core::int? _#A#x = null;
  constructor foo(core::int x) → self::A
    : self::A::_#A#x = x, super core::Object::•()
    ;
  constructor bar() → self::A
    : super core::Object::•()
    ;
  get x() → core::int
    return let final core::int? #t1 = this.{self::A::_#A#x}{core::int?} in #t1 == null ?{core::int} throw new _in::LateError::fieldNI("x") : #t1{core::int};
  set x(core::int x#param) → void
    this.{self::A::_#A#x} = x#param;
}
static method main() → dynamic {}
