blob: 1785b7e6860171ef76a2bd11677ebe4e793fc095 [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/patterns/issue51314.dart:7:14: Error: A value of type 'num?' can't be assigned to a variable of type 'String'.
// String s = v2; // 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::num? v2;
{
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 = v2 = #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)))
throw{for-error-handling} new core::StateError::•("Pattern matching error");
}
core::String s = invalid-expression "pkg/front_end/testcases/patterns/issue51314.dart:7:14: Error: A value of type 'num?' can't be assigned to a variable of type 'String'.
String s = v2; // Error
^" in v2 as{TypeError} core::String;
}
constants {
#C1 = "one"
#C2 = 2
}
Extra constant evaluation status:
Evaluated: IsExpression @ org-dartlang-testcase:///issue51314.dart:6:13 -> BoolConstant(true)
Evaluated: IsExpression @ org-dartlang-testcase:///issue51314.dart:6:25 -> BoolConstant(true)
Extra constant evaluation: evaluated: 67, effectively constant: 2