OLD | NEW |
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 /*@testedFeatures=inference*/ | 5 /*@testedFeatures=inference*/ |
6 library test; | 6 library test; |
7 | 7 |
8 class A { | 8 class A { |
9 int operator +(other) => 1; | 9 int operator +(/*@topType=dynamic*/ other) => 1; |
10 double operator -(other) => 2.0; | 10 double operator -(/*@topType=dynamic*/ other) => 2.0; |
11 } | 11 } |
12 | 12 |
13 class B { | 13 class B { |
14 A a; | 14 A a; |
15 } | 15 } |
16 | 16 |
17 var /*@topType=int*/ v_prefix_pp = (++new B(). /*@target=B::a*/ a); | 17 var /*@topType=int*/ v_prefix_pp = (++new B(). /*@target=B::a*/ a); |
18 var /*@topType=double*/ v_prefix_mm = (--new B(). /*@target=B::a*/ a); | 18 var /*@topType=double*/ v_prefix_mm = (--new B(). /*@target=B::a*/ a); |
19 var /*@topType=A*/ v_postfix_pp = (new B(). /*@target=B::a*/ a++); | 19 var /*@topType=A*/ v_postfix_pp = (new B(). /*@target=B::a*/ a++); |
20 var /*@topType=A*/ v_postfix_mm = (new B(). /*@target=B::a*/ a--); | 20 var /*@topType=A*/ v_postfix_mm = (new B(). /*@target=B::a*/ a--); |
21 | 21 |
22 main() {} | 22 main() {} |
OLD | NEW |