blob: 437744e241fa42effd7271838ea4090349e2b332 [file] [log] [blame]
library /*isNonNullableByDefault*/;
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* {
{
asy::Stream<dynamic> :stream = d as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<dynamic>;
asy::_StreamIterator<dynamic>? :for-iterator = new asy::_StreamIterator::•<dynamic>(:stream);
try
while (let dynamic #t1 = asy::_asyncStarMoveNextHelper(:stream) in await :for-iterator.{asy::_StreamIterator::moveNext}(){() → asy::Future<core::bool>}) {
dynamic x = :for-iterator.{asy::_StreamIterator::current}{dynamic};
{
yield x;
yield* x as{TypeError,ForDynamic,ForNonNullableByDefault} asy::Stream<dynamic>;
}
}
finally
if(!(:for-iterator.{asy::_StreamIterator::_subscription}{asy::StreamSubscription<dynamic>?} == null))
await :for-iterator.{asy::_StreamIterator::cancel}(){() asy::Future<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)
{
core::Iterator<core::String> :sync-for-iterator = core::_GrowableList::_literal1<core::String>("Hello from for-in!").{core::Iterable::iterator}{core::Iterator<core::String>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() core::bool}; ) {
core::String s = :sync-for-iterator.{core::Iterator::current}{core::String};
{
core::print(s);
}
}
}
{
core::Iterator<core::String> :sync-for-iterator = core::_GrowableList::_literal1<core::String>("Hello from for-in without block!").{core::Iterable::iterator}{core::Iterator<core::String>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() core::bool}; ) {
core::String s = :sync-for-iterator.{core::Iterator::current}{core::String};
core::print(s);
}
}
dynamic s;
{
core::Iterator<dynamic> :sync-for-iterator = core::_GrowableList::_literal1<dynamic>("Hello from for-in without decl!").{core::Iterable::iterator}{core::Iterator<dynamic>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() core::bool}; ) {
final dynamic #t2 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
s = #t2;
core::print(s);
}
}
}
{
core::Iterator<dynamic> :sync-for-iterator = core::_GrowableList::_literal1<dynamic>("Hello from for-in without decl and block!").{core::Iterable::iterator}{core::Iterator<dynamic>};
for (; :sync-for-iterator.{core::Iterator::moveNext}(){() core::bool}; ) {
final dynamic #t3 = :sync-for-iterator.{core::Iterator::current}{dynamic};
{
s = #t3;
core::print(s);
}
}
}
core::print("Hello from labeled statement!");
try {
try {
throw "Hello from rethrow!";
}
on core::Object catch(final core::Object e) {
rethrow;
}
}
on core::Object catch(final core::Object 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 core::Object catch(final core::Object 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) core::int}).{core::num::<}(3){(core::num) core::bool})
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) core::int}).{core::num::<}(3){(core::num) core::bool})
break #L16;
break #L15;
}
}
constants {
#C1 = 1
#C2 = 2
#C3 = 0
#C4 = 4
}