blob: 55a9a6cdd41c2ed2c226a9c2c90c3ca0deeabe16 [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
abstract class MyMap extends core::Object implements core::Map<core::String, core::int> {
synthetic constructor •() self::MyMap
: super core::Object::•()
;
}
static method test1(dynamic x) dynamic {
{
final synthesized dynamic #0#0 = x;
synthesized dynamic #0#4;
synthesized core::bool #0#4#isSet = false;
synthesized dynamic #0#9;
synthesized core::bool #0#9#isSet = false;
if(#0#0 is core::Map<dynamic, dynamic> && (!((#0#4#isSet ?{dynamic} #0#4{dynamic} : let final core::bool #t1 = #0#4#isSet = true in #0#4 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic}) == null) || null is dynamic && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool}) && #C2 =={core::num::==}{(core::Object) → core::bool} (#0#4#isSet ?{dynamic} #0#4{dynamic} : let final core::bool #t2 = #0#4#isSet = true in #0#4 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C1){(core::Object?) → dynamic}) && (!((#0#9#isSet ?{dynamic} #0#9{dynamic} : let final core::bool #t3 = #0#9#isSet = true in #0#9 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C3){(core::Object?) → dynamic}) == null) || null is dynamic && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C3){(core::Object?) → core::bool}) && #C4 =={core::num::==}{(core::Object) → core::bool} (#0#9#isSet ?{dynamic} #0#9{dynamic} : let final core::bool #t4 = #0#9#isSet = true in #0#9 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C3){(core::Object?) → dynamic})) {
}
}
}
static method test2(dynamic x) dynamic {
{
final synthesized dynamic #0#0 = x;
synthesized dynamic #0#4;
synthesized core::bool #0#4#isSet = false;
synthesized dynamic #0#9;
synthesized core::bool #0#9#isSet = false;
if(#0#0 is core::Map<dynamic, dynamic> && (!((#0#4#isSet ?{dynamic} #0#4{dynamic} : let final core::bool #t5 = #0#4#isSet = true in #0#4 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C2){(core::Object?) → dynamic}) == null) || null is dynamic && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C2){(core::Object?) → core::bool}) && #C4 =={core::num::==}{(core::Object) → core::bool} (#0#4#isSet ?{dynamic} #0#4{dynamic} : let final core::bool #t6 = #0#4#isSet = true in #0#4 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C2){(core::Object?) → dynamic}) && (!((#0#9#isSet ?{dynamic} #0#9{dynamic} : let final core::bool #t7 = #0#9#isSet = true in #0#9 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C5){(core::Object?) → dynamic}) == null) || null is dynamic && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C5){(core::Object?) → core::bool}) && #C6 =={core::String::==}{(core::Object) → core::bool} (#0#9#isSet ?{dynamic} #0#9{dynamic} : let final core::bool #t8 = #0#9#isSet = true in #0#9 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C5){(core::Object?) → dynamic})) {
return 0;
}
else {
return 1;
}
}
}
static method test3(core::Map<core::bool, core::double> x) dynamic {
{
final synthesized core::Map<core::bool, core::double> #0#0 = x;
synthesized core::double? #0#3;
synthesized core::bool #0#3#isSet = false;
if((!((#0#3#isSet ?{core::double?} #0#3{core::double?} : let final core::bool #t9 = #0#3#isSet = true in #0#3 = #0#0.{core::Map::[]}(#C7){(core::Object?) → core::double?}) == null) || null is core::double && #0#0.{core::Map::containsKey}(#C7){(core::Object?) → core::bool}) && #C8 =={core::num::==}{(core::Object) → core::bool} (let core::double? #t10 = #0#3#isSet ?{core::double?} #0#3{core::double?} : let final core::bool #t11 = #0#3#isSet = true in #0#3 = #0#0.{core::Map::[]}(#C7){(core::Object?) → core::double?} in #t10 == null ?{core::double} #t10 as{Unchecked} core::double : #t10{core::double})) {
}
}
{
final synthesized core::Map<core::bool, core::double> #1#0 = x;
synthesized core::double? #1#3;
synthesized core::bool #1#3#isSet = false;
if((!((#1#3#isSet ?{core::double?} #1#3{core::double?} : let final core::bool #t12 = #1#3#isSet = true in #1#3 = #1#0.{core::Map::[]}(#C9){(core::Object?) → core::double?}) == null) || null is core::double && #1#0.{core::Map::containsKey}(#C9){(core::Object?) → core::bool}) && #C10 =={core::num::==}{(core::Object) → core::bool} (let core::double? #t13 = #1#3#isSet ?{core::double?} #1#3{core::double?} : let final core::bool #t14 = #1#3#isSet = true in #1#3 = #1#0.{core::Map::[]}(#C9){(core::Object?) → core::double?} in #t13 == null ?{core::double} #t13 as{Unchecked} core::double : #t13{core::double})) {
}
}
}
static method test4(self::MyMap x) dynamic {
{
final synthesized self::MyMap #0#0 = x;
synthesized core::int? #0#3;
synthesized core::bool #0#3#isSet = false;
synthesized core::int? #0#8;
synthesized core::bool #0#8#isSet = false;
if((!((#0#3#isSet ?{core::int?} #0#3{core::int?} : let final core::bool #t15 = #0#3#isSet = true in #0#3 = #0#0.{core::Map::[]}(#C11){(core::Object?) → core::int?}) == null) || null is core::int && #0#0.{core::Map::containsKey}(#C11){(core::Object?) → core::bool}) && #C2 =={core::num::==}{(core::Object) → core::bool} (let core::int? #t16 = #0#3#isSet ?{core::int?} #0#3{core::int?} : let final core::bool #t17 = #0#3#isSet = true in #0#3 = #0#0.{core::Map::[]}(#C11){(core::Object?) → core::int?} in #t16 == null ?{core::int} #t16 as{Unchecked} core::int : #t16{core::int}) && (!((#0#8#isSet ?{core::int?} #0#8{core::int?} : let final core::bool #t18 = #0#8#isSet = true in #0#8 = #0#0.{core::Map::[]}(#C12){(core::Object?) → core::int?}) == null) || null is core::int && #0#0.{core::Map::containsKey}(#C12){(core::Object?) → core::bool}) && #C4 =={core::num::==}{(core::Object) → core::bool} (let core::int? #t19 = #0#8#isSet ?{core::int?} #0#8{core::int?} : let final core::bool #t20 = #0#8#isSet = true in #0#8 = #0#0.{core::Map::[]}(#C12){(core::Object?) → core::int?} in #t19 == null ?{core::int} #t19 as{Unchecked} core::int : #t19{core::int})) {
}
}
}
static method test5(dynamic x) dynamic {
{
final synthesized dynamic #0#0 = x;
synthesized dynamic #0#4;
synthesized core::bool #0#4#isSet = false;
synthesized dynamic #0#7;
synthesized core::bool #0#7#isSet = false;
{
hoisted dynamic y1;
hoisted core::String y2;
if(#0#0 is core::Map<dynamic, dynamic> && (!((#0#4#isSet ?{dynamic} #0#4{dynamic} : let final core::bool #t21 = #0#4#isSet = true in #0#4 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C11){(core::Object?) → dynamic}) == null) || null is dynamic && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C11){(core::Object?) → core::bool}) && (let final dynamic #t22 = y1 = #0#4#isSet ?{dynamic} #0#4{dynamic} : let final core::bool #t23 = #0#4#isSet = true in #0#4 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C11){(core::Object?) → dynamic} in true) && (!((#0#7#isSet ?{dynamic} #0#7{dynamic} : let final core::bool #t24 = #0#7#isSet = true in #0#7 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic}) == null) || null is dynamic && #0#0{core::Map<dynamic, dynamic>}.{core::Map::containsKey}(#C12){(core::Object?) → core::bool}) && (let final dynamic #t25 = (#0#7#isSet ?{dynamic} #0#7{dynamic} : let final core::bool #t26 = #0#7#isSet = true in #0#7 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic})! in (#0#7#isSet ?{dynamic} #0#7{dynamic} : let final core::bool #t27 = #0#7#isSet = true in #0#7 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic})! is core::String && (let final core::String #t28 = y2 = (#0#7#isSet ?{dynamic} #0#7{dynamic} : let final core::bool #t29 = #0#7#isSet = true in #0#7 = #0#0{core::Map<dynamic, dynamic>}.{core::Map::[]}(#C12){(core::Object?) → dynamic})! as{Unchecked} core::String in true))) {
return 0;
}
else {
return 1;
}
}
}
}
constants {
#C1 = "a"
#C2 = 1
#C3 = "b"
#C4 = 2
#C5 = "foo"
#C6 = "bar"
#C7 = true
#C8 = 3.14
#C9 = false
#C10 = 2.71
#C11 = "one"
#C12 = "two"
}
Extra constant evaluation status:
Evaluated: IsExpression @ org-dartlang-testcase:///map_pattern_inside_if_case.dart:8:18 -> BoolConstant(true)
Evaluated: IsExpression @ org-dartlang-testcase:///map_pattern_inside_if_case.dart:8:26 -> BoolConstant(true)
Evaluated: IsExpression @ org-dartlang-testcase:///map_pattern_inside_if_case.dart:12:16 -> BoolConstant(true)
Evaluated: IsExpression @ org-dartlang-testcase:///map_pattern_inside_if_case.dart:12:26 -> BoolConstant(true)
Evaluated: LogicalExpression @ org-dartlang-testcase:///map_pattern_inside_if_case.dart:20:19 -> BoolConstant(false)
Evaluated: LogicalExpression @ org-dartlang-testcase:///map_pattern_inside_if_case.dart:21:20 -> BoolConstant(false)
Evaluated: LogicalExpression @ org-dartlang-testcase:///map_pattern_inside_if_case.dart:25:20 -> BoolConstant(false)
Evaluated: LogicalExpression @ org-dartlang-testcase:///map_pattern_inside_if_case.dart:25:30 -> BoolConstant(false)
Evaluated: IsExpression @ org-dartlang-testcase:///map_pattern_inside_if_case.dart:29:20 -> BoolConstant(true)
Evaluated: IsExpression @ org-dartlang-testcase:///map_pattern_inside_if_case.dart:29:35 -> BoolConstant(true)
Extra constant evaluation: evaluated: 310, effectively constant: 10