|  | library; | 
|  | import self as self; | 
|  | import "dart:async" as asy; | 
|  | import "dart:core" as core; | 
|  |  | 
|  | static method foo1() → asy::Future<void> async /* emittedValueType= void */ { | 
|  | await 6 /* runtimeCheckType= asy::Future<core::int> */ ; | 
|  | } | 
|  | static method foo2() → asy::Future<core::int> async /* emittedValueType= core::int */ { | 
|  | return (await 6 /* runtimeCheckType= asy::Future<core::int> */ ).{core::num::+}(3){(core::num) → core::int}; | 
|  | } | 
|  | static method foo3() → asy::Future<void> async /* emittedValueType= void */ { | 
|  | #L1: | 
|  | await for (final dynamic x in new asy::_EmptyStream::•<dynamic>()) { | 
|  | break #L1; | 
|  | } | 
|  | } | 
|  | static method foo4() → asy::Future<core::int> async /* emittedValueType= core::int */ { | 
|  | try { | 
|  | return 3; | 
|  | } | 
|  | finally { | 
|  | return 2; | 
|  | } | 
|  | } | 
|  | static method foo5() → asy::Future<core::int> async /* emittedValueType= core::int */ { | 
|  | try { | 
|  | return 3; | 
|  | } | 
|  | on core::Object catch(final core::Object e) { | 
|  | return 2; | 
|  | } | 
|  | } | 
|  | static method main() → void { | 
|  | self::foo1(); | 
|  | self::foo2(); | 
|  | self::foo3(); | 
|  | self::foo4(); | 
|  | self::foo5(); | 
|  | } |