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

abstract class A<T extends core::Object? = dynamic> extends core::Object {
  synthetic constructor •() → self::A<self::A::T%>
    : super core::Object::•()
    ;
  abstract method baz() → self::A::T%;
  method bar(generic-covariant-impl self::A::T% value) → dynamic {}
  method foo() → dynamic {
    lowered self::A::T? #value;
    lowered core::bool #value#isSet = false;
    function #value#get() → self::A::T%
      return #value#isSet ?{self::A::T%} #value{self::A::T%} : throw new _in::LateError::localNI("value");
    function #value#set(self::A::T% #t1) → dynamic {
      #value#isSet = true;
      return #value = #t1;
    }
    () → dynamic result = () → dynamic => this.{self::A::bar}(#value#get.call());
    (() → Null {
      #value#set.call(this.{self::A::baz}());
    }).call();
    return result;
  }
}
static method main() → dynamic {}
