library /*isNonNullableByDefault*/;
import self as self;
import "dart:test" as test;

import "dart:test";

static method main() → dynamic {
  test::A a;
}

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

abstract class A extends core::Object {
  field core::int? _#A#x = null;
  synthetic constructor •() → test::A
    : super core::Object::•()
    ;
  get x() → core::int
    return let final core::int? #t1 = this.{test::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.{test::A::_#A#x} = x#param;
}
class _B extends core::Object implements test::A {
  field core::int x = 3;
  synthetic constructor •() → test::_B
    : super core::Object::•()
    ;
}
