blob: 2a9f3071bb02a88547c2f296a1e447e564ad9244 [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;
{
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#0{core::Map<core::Object?, core::Object?>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool} && (let final core::Object? #t1 = #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"
}