| 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 |