blob: 1c9f67c1bf205870990f782272d716b1e09615ba [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;
late final synthesized core::Object? #0#14 = (#0#0 as{Unchecked} core::Map<core::Object?, core::Object?>).{core::Map::[]}(#C1){(core::Object?) → core::Object?};
{
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} #C2 && #C3 =={core::num::==}{(core::Object) → core::bool} #0#0{core::List<core::Object?>}.{core::List::[]}(0){(core::int) → core::Object?} && #C2 =={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 == null) || null is core::Object? && #0#0{core::Map<core::Object?, core::Object?>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool}) && (let final dynamic #t1 = #0#14 in true)) {
{
toReturn = "map";
break #L1;
}
}
}
{
{
{
toReturn = "default";
}
}
}
}
return toReturn;
}
static method main() dynamic {
self::expect("list", self::test(<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 = "key1"
#C2 = 2
#C3 = 1
}