library; import self as self; import "dart:core" as core; import "dart:async" as asy; static method foo() → dynamic { try { return; } finally { core::print("Hello from finally block!"); } } static method bar(dynamic d) → dynamic async* { await for (dynamic x in d as{TypeError,ForDynamic} asy::Stream*) { yield x; yield* x as{TypeError,ForDynamic} asy::Stream*; } } static method main() → dynamic { do { core::print("Hello from do-while!"); } while (false) do { void x = core::print("Hello from do-while!"); } while (false) for (core::String* s in ["Hello from for-in!"]) { core::print(s); } for (core::String* s in ["Hello from for-in without block!"]) core::print(s); dynamic s; for (final dynamic #t1 in ["Hello from for-in without decl!"]) { s = #t1; core::print(s); } for (final dynamic #t2 in ["Hello from for-in without decl and block!"]) { s = #t2; core::print(s); } core::print("Hello from labeled statement!"); try { try { throw "Hello from rethrow!"; } on dynamic catch(final dynamic e) { rethrow; } } on dynamic catch(final dynamic e) { core::print(e); } self::foo(); core::bool* done = false; while (!done) { done = true; core::print("Hello from while!"); } ; assert(true); assert(true, "Hello from assert!"); try { assert(false, "Hello from assert!"); } on dynamic catch(final dynamic e) { core::print(e); } #L1: switch(1) { #L2: case #C1: case #C2: { core::print("Hello from switch case!"); break #L1; } #L3: default: { break #L1; } } #L4: switch(4) { #L5: case #C2: { core::print("Hello from case 2!"); break #L4; } #L6: case #C1: { core::print("Hello from case 1!"); continue #L5; } #L7: case #C3: { core::print("Hello from case 0!"); continue #L6; } #L8: case #C4: { core::print("Hello from case 4!"); continue #L9; } #L9: default: { continue #L7; } } #L10: switch(4) { #L11: case #C1: { core::print("Hello from next case 1"); break #L10; } #L12: default: { continue #L11; } } core::int* i = 0; #L13: do #L14: { core::print("Hello from do-while!"); if((i = i.{core::num::+}(1)).{core::num::<}(3)) break #L14; break #L13; } while (true) i = 0; #L15: while (true) #L16: { core::print("Hello from while!"); if((i = i.{core::num::+}(1)).{core::num::<}(3)) break #L16; break #L15; } } constants { #C1 = 1 #C2 = 2 #C3 = 0 #C4 = 4 }