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