blob: 60e2befa28a38c50bfd7c5cf02b1b4defde5be76 [file] [log] [blame]
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