blob: b8210ed3c439ff3a660deb64d73d3bba96924084 [file] [log] [blame]
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "package:expect/expect.dart" as exp;
import "package:expect/expect.dart";
static const field core::int var1 = #C1;
static const field core::int var2 = #C2;
static const field core::int var3 = #C3;
static const field core::int var4 = #C4;
static const field core::int var5 = #C5;
static const field core::int var6 = #C1;
static const field core::int var7 = #C6;
static const field core::int var8 = #C2;
static const field core::int var9 = #C7;
static const field core::int var10 = #C8;
static method fn(core::int a) core::int {
core::int b = a;
for (core::int i = 0; i.{core::num::<}(2); i = i.{core::num::+}(1)) {
b = b.{core::num::+}(a);
}
return b;
}
static method fn1(core::int a) core::int {
core::int b = a;
for (core::int i = 0; ; i = i.{core::num::+}(1)) {
b = b.{core::num::*}(3);
if(b.{core::num::>}(10))
return b;
}
}
static method fn2() core::int {
for (core::int i = 0, core::int j = 2; ; i = i.{core::num::+}(2), j = j.{core::num::+}(1)) {
if(i.{core::num::+}(j).{core::num::>}(10)) {
return i.{core::num::+}(j);
}
}
}
static method fnContinue() core::int {
core::int a = 0;
for (core::int i = 0; i.{core::num::<}(5); i = i.{core::num::+}(1))
#L1:
{
if(i.{core::num::%}(2).{core::num::==}(1))
break #L1;
a = a.{core::num::+}(i);
}
return a;
}
static method fnBreak(core::int a) core::int {
core::int b = a;
#L2:
for (core::int i = 0; i.{core::num::<}(2); i = i.{core::num::+}(1)) {
if(b.{core::num::==}(2))
break #L2;
b = b.{core::num::+}(a);
}
return b;
}
static method fnNestedFor() core::int {
core::int a = 0;
for (; ; ) {
#L3:
for (; ; ) {
break #L3;
}
return 1;
}
}
static method fnBreakLabel() core::int {
#L4:
for (; ; ) {
for (; ; ) {
break #L4;
}
}
return 3;
}
static method main() void {
exp::Expect::equals(#C1, 6);
exp::Expect::equals(#C2, 9);
exp::Expect::equals(#C3, 18);
exp::Expect::equals(#C4, 27);
exp::Expect::equals(#C5, 11);
exp::Expect::equals(#C1, 6);
exp::Expect::equals(#C6, 2);
exp::Expect::equals(#C2, 9);
exp::Expect::equals(#C7, 1);
exp::Expect::equals(#C8, 3);
}
constants {
#C1 = 6
#C2 = 9
#C3 = 18
#C4 = 27
#C5 = 11
#C6 = 2
#C7 = 1
#C8 = 3
}