Index: pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.direct.expect |
diff --git a/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.direct.expect b/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.direct.expect |
new file mode 100644 |
index 0000000000000000000000000000000000000000..fe02d171f4c610654c7825943a6f94713726a597 |
--- /dev/null |
+++ b/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.direct.expect |
@@ -0,0 +1,53 @@ |
+library test; |
+import self as self; |
+import "dart:core" as core; |
+ |
+class A extends core::Object { |
+ field core::int x = null; |
+ default constructor •() → void |
+ : super core::Object::•() |
+ ; |
+ operator +(dynamic other) → self::B |
+ return null; |
+} |
+class B extends self::A { |
+ constructor •(dynamic ignore) → void |
+ : super self::A::•() |
+ ; |
+} |
+static field dynamic a = new self::A::•(); |
+static field dynamic b = new self::B::•(throw new core::NoSuchMethodError::_withType(null, #x, 33, <dynamic>[].toList(growable: false), <dynamic, dynamic>{}, null)); |
+static field dynamic c1 = <dynamic>[throw new core::NoSuchMethodError::_withType(null, #x, 33, <dynamic>[].toList(growable: false), <dynamic, dynamic>{}, null)]; |
+static field dynamic c2 = const <dynamic>[]; |
+static field dynamic d = <dynamic, dynamic>{"a": "b"}; |
+static field dynamic e = let final dynamic #t1 = new self::A::•() in let final dynamic #t2 = #t1.x = 3 in #t1; |
+static field dynamic f = 2.+(3); |
+static field dynamic g = 3.unary-(); |
+static field dynamic h = new self::A::•().+(3); |
+static field dynamic i = new self::A::•().unary-(); |
+static field dynamic j = null as self::B; |
+static method test1() → dynamic { |
+ self::a = "hi"; |
+ self::a = new self::B::•(3); |
+ self::b = "hi"; |
+ self::b = new self::B::•(3); |
+ self::c1 = <dynamic>[]; |
+ self::c1 = <dynamic, dynamic>{}; |
+ self::c2 = <dynamic>[]; |
+ self::c2 = <dynamic, dynamic>{}; |
+ self::d = <dynamic, dynamic>{}; |
+ self::d = 3; |
+ self::e = new self::A::•(); |
+ self::e = <dynamic, dynamic>{}; |
+ self::f = 3; |
+ self::f = false; |
+ self::g = 1; |
+ self::g = false; |
+ self::h = false; |
+ self::h = new self::B::•("b"); |
+ self::i = false; |
+ self::j = new self::B::•("b"); |
+ self::j = false; |
+ self::j = <dynamic>[]; |
+} |
+static method main() → dynamic {} |