blob: f1831eda9d03a95400719836876c70badfb64edb [file] [log] [blame]
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
static method test1(dynamic x) dynamic {
return block {
core::String #t1;
final dynamic #0#0 = x;
if(#C1 =={core::num::==}{(core::Object) core::bool} #0#0)
#t1 = "zero";
else
if(true)
#t1 = "other";
} =>#t1;
}
static method test2(core::String x) dynamic {
return block {
core::int #t2;
final core::String #0#0 = x;
if(#C2 =={core::String::==}{(core::Object) core::bool} #0#0)
#t2 = 0;
else
if(true)
#t2 = 1;
} =>#t2;
}
static method main() dynamic {
self::expectEquals(self::test1(0), "zero");
self::expectEquals(self::test1(null), "other");
self::expectEquals(self::test1(<dynamic>[]), "other");
self::expectEquals(self::test2("zero"), 0);
self::expectEquals(self::test2("one"), 1);
self::expectEquals(self::test2("two"), 1);
}
static method expectEquals(dynamic x, dynamic y) dynamic {
if(!(x =={core::Object::==}{(core::Object) core::bool} y)) {
throw "Expected ${x} to be equal to ${y}.";
}
}
constants {
#C1 = 0
#C2 = "zero"
}