|  | library test; | 
|  | import self as self; | 
|  | import "dart:core" as core; | 
|  | import "dart:async" as asy; | 
|  |  | 
|  | import "dart:async"; | 
|  |  | 
|  | class D<T extends core::Object? = dynamic> extends core::Object { | 
|  | synthetic constructor •() → self::D<self::D::T%> | 
|  | : super core::Object::•() | 
|  | ; | 
|  | } | 
|  | class E<T extends core::Object? = dynamic> extends self::D<self::E::T%> { | 
|  | synthetic constructor •() → self::E<self::E::T%> | 
|  | : super self::D::•() | 
|  | ; | 
|  | } | 
|  | class B<T extends core::Object? = dynamic> extends core::Object { | 
|  | synthetic constructor •() → self::B<self::B::T%> | 
|  | : super core::Object::•() | 
|  | ; | 
|  | operator [](covariant-by-class self::E<self::B::T%> x) → self::D<self::B::T%> | 
|  | return throw ""; | 
|  | } | 
|  | class C<U extends core::Object? = dynamic> extends self::B<asy::Future<self::C::U%>> { | 
|  | synthetic constructor •() → self::C<self::C::U%> | 
|  | : super self::B::•() | 
|  | ; | 
|  | operator [](covariant-by-class core::Object x) → self::E<asy::Future<self::C::U%>> | 
|  | return throw ""; | 
|  | method h() → void { | 
|  | self::D<asy::Future<self::C::U%>> x = super.{self::B::[]}(self::f<self::E<asy::Future<self::C::U%>>>()); | 
|  | } | 
|  | } | 
|  | static method f<T extends core::Object? = dynamic>() → self::f::T% | 
|  | return throw ""; | 
|  | static method main() → dynamic {} |