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 C { | 8 class C { |
9 m(x) => x; | 9 /*@topType=dynamic*/ m(/*@topType=dynamic*/ x) => x; |
10 dynamic g(int x) => x; | 10 dynamic g(int x) => x; |
11 } | 11 } |
12 | 12 |
13 class D extends C { | 13 class D extends C { |
14 /*error:INVALID_METHOD_OVERRIDE*/ T m<T>(T x) => x; | 14 /*error:INVALID_METHOD_OVERRIDE*/ T m<T>(T x) => x; |
15 /*error:INVALID_METHOD_OVERRIDE*/ T g<T>(T x) => x; | 15 /*error:INVALID_METHOD_OVERRIDE*/ T g<T>(T x) => x; |
16 } | 16 } |
17 | 17 |
18 main() { | 18 main() { |
19 int y = /*info:DYNAMIC_CAST*/ (/*info:UNNECESSARY_CAST*/ new D() as C) | 19 int y = /*info:DYNAMIC_CAST*/ (/*info:UNNECESSARY_CAST*/ new D() as C) |
20 . /*@target=C::m*/ m(42); | 20 . /*@target=C::m*/ m(42); |
21 print(y); | 21 print(y); |
22 } | 22 } |
OLD | NEW |