blob: 7e7194b16be6e382dbee866d9dc9071630601376 [file] [log] [blame]
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<dynamic>*) {
yield x;
yield* x as{TypeError,ForDynamic} asy::Stream<dynamic>*;
}
}
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 <core::String*>["Hello from for-in!"]) {
core::print(s);
}
for (core::String* s in <core::String*>["Hello from for-in without block!"])
core::print(s);
dynamic s;
for (final dynamic #t1 in <dynamic>["Hello from for-in without decl!"]) {
s = #t1;
core::print(s);
}
for (final dynamic #t2 in <dynamic>["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
}