|  | library; | 
|  | import self as self; | 
|  | import "dart:core" as core; | 
|  | import "dart:async" as asy; | 
|  |  | 
|  | import "dart:async"; | 
|  |  | 
|  | typedef Bar<V extends core::Object? = dynamic, contravariant U extends self::A> = (U) → V%; | 
|  | abstract class A extends core::Object { | 
|  | synthetic constructor •() → self::A | 
|  | : super core::Object::•() | 
|  | ; | 
|  | abstract method foo<T extends core::Object? = dynamic>(self::B<self::A::foo::T%> b) → self::A::foo::T%; | 
|  | } | 
|  | class B<X extends core::Object? = dynamic> extends core::Object { | 
|  | constructor •(self::B::X% x) → self::B<self::B::X%> | 
|  | : super core::Object::•() | 
|  | ; | 
|  | } | 
|  | class C<Y extends core::Object? = dynamic> extends core::Object { | 
|  | final field (self::D<self::C::Y%>) → FutureOr<self::C::Y%>bar; | 
|  | constructor •((self::D<self::C::Y%>) → FutureOr<self::C::Y%>bar) → self::C<self::C::Y%> | 
|  | : self::C::bar = bar, super core::Object::•() | 
|  | ; | 
|  | } | 
|  | abstract class D<W extends core::Object? = dynamic> extends core::Object implements self::A { | 
|  | synthetic constructor •() → self::D<self::D::W%> | 
|  | : super core::Object::•() | 
|  | ; | 
|  | } | 
|  | static final field self::C<core::int> baz = new self::C::•<core::int>((self::D<core::int> a) → FutureOr<core::int> { | 
|  | return a.{self::A::foo}<FutureOr<core::int>>(new self::B::•<FutureOr<core::int>>(asy::Future::value<core::int>(0))){(self::B<FutureOr<core::int>>) → FutureOr<core::int>}; | 
|  | }); | 
|  | static method main() → dynamic {} |