blob: 4059d89d4182e0dc3763578b851264926f258a42 [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/general_nnbd_opt_out/statements.dart:17:5: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
// yield x;
// ^^^^^
//
// pkg/front_end/testcases/general_nnbd_opt_out/statements.dart:18:5: Error: 'yield' can only be used in 'sync*' or 'async*' methods.
// yield* x;
// ^^^^^
//
// pkg/front_end/testcases/general_nnbd_opt_out/statements.dart:16:23: Error: The type 'List<dynamic>' used in the 'for' loop must implement 'Stream<dynamic>'.
// - 'List' is from 'dart:core'.
// - 'Stream' is from 'dart:async'.
// await for (var x in []) {
// ^
//
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 async {
await for (dynamic x in let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/general_nnbd_opt_out/statements.dart:16:23: Error: The type 'List<dynamic>' used in the 'for' loop must implement 'Stream<dynamic>'.
- 'List' is from 'dart:core'.
- 'Stream' is from 'dart:async'.
await for (var x in []) {
^" in <dynamic>[] as{TypeError} asy::Stream<dynamic>*) {
yield x;
yield* x;
}
}
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 #t2 in <dynamic>["Hello from for-in without decl!"]) {
s = #t2;
core::print(s);
}
for (final dynamic #t3 in <dynamic>["Hello from for-in without decl and block!"]) {
s = #t3;
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
}