blob: 8760a40508b8c31bf60a07362805a053fcbda9c0 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
static method test(core::Object? o) core::String {
core::String toReturn = "";
#L1:
{
final synthesized core::Object? #0#0 = o;
synthesized core::Object? #0#14;
synthesized core::bool #0#14#isSet = false;
{
if(#0#0 is core::List<core::Object?> && #0#0{core::List<core::Object?>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C1 && #C2 =={core::num::==}{(core::Object) → core::bool} #0#0{core::List<core::Object?>}.{core::List::[]}(0){(core::int) → core::Object?} && #C1 =={core::num::==}{(core::Object) → core::bool} #0#0{core::List<core::Object?>}.{core::List::[]}(1){(core::int) → core::Object?}) {
{
toReturn = "list";
break #L1;
}
}
}
{
if(#0#0 is core::Map<core::Object?, core::Object?> && (!((#0#14#isSet ?{core::Object?} #0#14{core::Object?} : let final core::bool* #t1 = #0#14#isSet = true in #0#14 = #0#0{core::Map<core::Object?, core::Object?>}.{core::Map::[]}(#C3){(core::Object?) → core::Object?}) == null) || null is core::Object? && #0#0{core::Map<core::Object?, core::Object?>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool}) && (let final core::Object? #t2 = #0#14#isSet ?{core::Object?} #0#14{core::Object?} : let final core::bool* #t3 = #0#14#isSet = true in #0#14 = #0#0{core::Map<core::Object?, core::Object?>}.{core::Map::[]}(#C3){(core::Object?) → core::Object?} in true)) {
{
toReturn = "map";
break #L1;
}
}
}
{
{
{
toReturn = "default";
}
}
}
}
return toReturn;
}
static method main() dynamic {
self::expect("list", self::test(core::_GrowableList::_literal2<core::int>(1, 2)));
self::expect("map", self::test(<core::String, core::int>{"key1": 1}));
}
static method expect(dynamic expected, dynamic actual) dynamic {
if(!(expected =={core::Object::==}{(core::Object) core::bool} actual)) {
throw "Expected ${expected}, actual ${actual}";
}
}
constants {
#C1 = 2
#C2 = 1
#C3 = "key1"
}
Extra constant evaluation status:
Evaluated: IsExpression @ org-dartlang-testcase:///issue51140.dart:10:17 -> BoolConstant(true)
Extra constant evaluation: evaluated: 61, effectively constant: 1