| library; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/patterns/issue51313.dart:8:11: Error: A value of type 'Map<Object, num?>' can't be assigned to a variable of type 'int'. |
| // - 'Map' is from 'dart:core'. |
| // - 'Object' is from 'dart:core'. |
| // int i = map; // Error |
| // ^ |
| // |
| import self as self; |
| import "dart:core" as core; |
| |
| static method test() → void { |
| hoisted has-declared-initializer core::num? v1; |
| hoisted has-declared-initializer core::Map<core::Object, core::num?> map; |
| { |
| final synthesized core::Map<core::Object, core::num?> #0#0 = <core::Object, core::num?>{"one": 1, 2: 2}; |
| synthesized core::num? #0#3; |
| synthesized core::bool #0#3#isSet = false; |
| synthesized core::num? #0#6; |
| synthesized core::bool #0#6#isSet = false; |
| if(!((!((#0#3#isSet ?{core::num?} #0#3{core::num?} : let final core::bool #t1 = #0#3#isSet = true in #0#3 = #0#0.{core::Map::[]}(#C1){(core::Object?) → core::num?}) == null) || null is core::num? && #0#0.{core::Map::containsKey}(#C1){(core::Object?) → core::bool}) && ((#0#3#isSet ?{core::num?} #0#3{core::num?} : let final core::bool #t2 = #0#3#isSet = true in #0#3 = #0#0.{core::Map::[]}(#C1){(core::Object?) → core::num?}) is core::num? && (let final core::num? #t3 = v1 = #0#3#isSet ?{core::num?} #0#3{core::num?} : let final core::bool #t4 = #0#3#isSet = true in #0#3 = #0#0.{core::Map::[]}(#C1){(core::Object?) → core::num?} in true)) && (!((#0#6#isSet ?{core::num?} #0#6{core::num?} : let final core::bool #t5 = #0#6#isSet = true in #0#6 = #0#0.{core::Map::[]}(#C2){(core::Object?) → core::num?}) == null) || null is core::num? && #0#0.{core::Map::containsKey}(#C2){(core::Object?) → core::bool}) && (let final core::num? #t6 = #0#6#isSet ?{core::num?} #0#6{core::num?} : let final core::bool #t7 = #0#6#isSet = true in #0#6 = #0#0.{core::Map::[]}(#C2){(core::Object?) → core::num?} in true) && (let final core::Map<core::Object, core::num?> #t8 = map = #0#0 in true))) |
| throw{for-error-handling} new core::StateError::•("Pattern matching error"); |
| } |
| core::print(map.{core::Object::runtimeType}{core::Type}); |
| core::int i = invalid-expression "pkg/front_end/testcases/patterns/issue51313.dart:8:11: Error: A value of type 'Map<Object, num?>' can't be assigned to a variable of type 'int'. |
| - 'Map' is from 'dart:core'. |
| - 'Object' is from 'dart:core'. |
| int i = map; // Error |
| ^" in map as{TypeError} core::int; |
| } |
| |
| constants { |
| #C1 = "one" |
| #C2 = 2 |
| } |
| |
| Extra constant evaluation status: |
| Evaluated: IsExpression @ org-dartlang-testcase:///issue51313.dart:6:14 -> BoolConstant(true) |
| Evaluated: IsExpression @ org-dartlang-testcase:///issue51313.dart:6:26 -> BoolConstant(true) |
| Extra constant evaluation: evaluated: 73, effectively constant: 2 |