|  | library; | 
|  | import self as self; | 
|  | import "dart:core" as core; | 
|  | import "dart:async" as asy; | 
|  |  | 
|  | class A extends core::Object { | 
|  | synthetic constructor •() → self::A | 
|  | : super core::Object::•() | 
|  | ; | 
|  | } | 
|  | static method h1<X extends asy::Future<self::A>?>(self::h1::X% x) → asy::Future<void> async /* emittedValueType= void */ { | 
|  | self::A? x2 = await x /* runtimeCheckType= asy::Future<self::A?> */ ; | 
|  | self::expectEquals(x2, null); | 
|  | self::expectEquals(core::_GrowableList::_literal1<self::A?>(x2).{core::Object::runtimeType}{core::Type}, #C1); | 
|  | x2 = null; | 
|  | x2 = new self::A::•(); | 
|  | } | 
|  | static method main() → void async /* emittedValueType= void */ | 
|  | return await self::h1<Null>(null); | 
|  | static method expectEquals(dynamic a, dynamic b) → dynamic { | 
|  | if(!(a =={core::Object::==}{(core::Object) → core::bool} b)) { | 
|  | throw "Expected '${a}' to be equal to '${b}'."; | 
|  | } | 
|  | } | 
|  |  | 
|  | constants  { | 
|  | #C1 = TypeLiteralConstant(core::List<self::A?>) | 
|  | } |