| 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=checks*/ | 5 /*@testedFeatures=checks*/ |
| 6 library test; | 6 library test; |
| 7 | 7 |
| 8 class C<T> { | 8 class C<T> { |
| 9 void f1(T /*@checkFormal=semiSafe*/ x) {} | 9 void f1(T /*@checkFormal=semiSafe*/ /*@checkInterface=semiTyped*/ x) {} |
| 10 void f2(int x) {} | 10 void f2(int x) {} |
| 11 } | 11 } |
| 12 | 12 |
| 13 class D extends C<num> { | 13 class D extends C<num> { |
| 14 void f1(covariant int /*@checkFormal=unsafe*/ x) {} | 14 void f1(covariant int /*@checkFormal=unsafe*/ x) {} |
| 15 } | 15 } |
| 16 | 16 |
| 17 void g1(dynamic d) { | 17 void g1(dynamic d) { |
| 18 d.f1 /*@checkCall=dynamic*/ (1.5); | 18 d.f1 /*@callKind=dynamic*/ (1.5); |
| 19 } | 19 } |
| 20 | 20 |
| 21 void g2(dynamic d) { | 21 void g2(dynamic d) { |
| 22 d.f2 /*@checkCall=dynamic*/ (1.5); | 22 d.f2 /*@callKind=dynamic*/ (1.5); |
| 23 } | 23 } |
| 24 | 24 |
| 25 void test() { | 25 void test() { |
| 26 g1(new C<int>()); | 26 g1(new C<int>()); |
| 27 g2(new C()); | 27 g2(new C()); |
| 28 g1(new D()); | 28 g1(new D()); |
| 29 } | 29 } |
| 30 | 30 |
| 31 main() {} | 31 main() {} |
| OLD | NEW |