| library; |
| import self as self; |
| import "dart:core" as core; |
| |
| static method test1() → dynamic { |
| core::Map<dynamic, dynamic> x = <dynamic, dynamic>{1: 1}; |
| { |
| final synthesized core::Map<dynamic, dynamic> #0#0 = x; |
| synthesized core::int? #0#4; |
| synthesized core::bool #0#4#isSet = false; |
| if(#0#0 is core::Map<core::int, core::int> && (!((#0#4#isSet ?{core::int?} #0#4{core::int?} : let final core::bool* #t1 = #0#4#isSet = true in #0#4 = #0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C1){(core::Object?) → core::int?}) == null) || null is core::int && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool}) && #C1 =={core::num::==}{(core::Object) → core::bool} (let core::int? #t2 = #0#4#isSet ?{core::int?} #0#4{core::int?} : let final core::bool* #t3 = #0#4#isSet = true in #0#4 = #0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C1){(core::Object?) → core::int?} in #t2 == null ?{core::int} #t2 as{Unchecked} core::int : #t2{core::int})) { |
| return 1; |
| } |
| else { |
| return 0; |
| } |
| } |
| } |
| static method test2() → dynamic { |
| core::Map<dynamic, dynamic> x = <core::int, core::int>{1: 1, 2: 2}; |
| { |
| final synthesized core::Map<dynamic, dynamic> #0#0 = x; |
| synthesized core::int? #0#4; |
| synthesized core::bool #0#4#isSet = false; |
| if(#0#0 is core::Map<core::int, core::int> && (!((#0#4#isSet ?{core::int?} #0#4{core::int?} : let final core::bool* #t4 = #0#4#isSet = true in #0#4 = #0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C1){(core::Object?) → core::int?}) == null) || null is core::int && #0#0{core::Map<core::int, core::int>}.{core::Map::containsKey}(#C1){(core::Object?) → core::bool}) && #C1 =={core::num::==}{(core::Object) → core::bool} (let core::int? #t5 = #0#4#isSet ?{core::int?} #0#4{core::int?} : let final core::bool* #t6 = #0#4#isSet = true in #0#4 = #0#0{core::Map<core::int, core::int>}.{core::Map::[]}(#C1){(core::Object?) → core::int?} in #t5 == null ?{core::int} #t5 as{Unchecked} core::int : #t5{core::int})) { |
| return 0; |
| } |
| else { |
| return 1; |
| } |
| } |
| } |
| static method main() → dynamic { |
| self::expectEquals(0, self::test1()); |
| self::expectEquals(0, self::test2()); |
| } |
| static method expectEquals(dynamic x, dynamic y) → dynamic { |
| if(!(x =={core::Object::==}{(core::Object) → core::bool} y)) { |
| throw "Expected ${x} to be equal to ${y}."; |
| } |
| } |
| |
| constants { |
| #C1 = 1 |
| } |
| |
| Extra constant evaluation status: |
| Evaluated: LogicalExpression @ org-dartlang-testcase:///issue50886.dart:7:26 -> BoolConstant(false) |
| Evaluated: LogicalExpression @ org-dartlang-testcase:///issue50886.dart:16:26 -> BoolConstant(false) |
| Extra constant evaluation: evaluated: 80, effectively constant: 2 |