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

class B<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object {
  synthetic constructor •() → self::B<self::B::X%, self::B::Y%>
    : super core::Object::•()
    ;
}
class C<X extends core::Object? = dynamic, Y extends core::Object? = dynamic> extends core::Object {
  synthetic constructor •() → self::C<self::C::X%, self::C::Y%>
    : super core::Object::•()
    ;
}
class D<X extends self::B<self::D::X, self::D::Y> = self::B<dynamic, dynamic>, Y extends self::C<self::D::X, self::D::Y> = self::C<dynamic, dynamic>> extends core::Object {
  synthetic constructor •() → self::D<self::D::X, self::D::Y>
    : super core::Object::•()
    ;
}
class E<X extends self::B<self::E::X, self::E::Y> = self::B<dynamic, dynamic>, Y extends () → self::E::X = () → dynamic> extends core::Object {
  synthetic constructor •() → self::E<self::E::X, self::E::Y>
    : super core::Object::•()
    ;
}
class F<X extends () → self::F::X = () → dynamic> extends core::Object {
  synthetic constructor •() → self::F<self::F::X>
    : super core::Object::•()
    ;
}
static field self::D<self::B<dynamic, dynamic>, self::C<dynamic, dynamic>> d = throw "";
static field self::E<self::B<dynamic, dynamic>, () → dynamic> e = throw "";
static field self::F<() → dynamic> f = throw "";
static method main() → dynamic {}
