OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 // DartOptions=--initializing-formal-access | 5 // DartOptions=--initializing-formal-access |
6 // VMOptions=--initializing-formal-access | 6 // VMOptions=--initializing-formal-access |
7 | 7 |
8 import "package:expect/expect.dart"; | 8 import "package:expect/expect.dart"; |
9 | 9 |
10 class A { | 10 class A { |
11 int x; | 11 num x; |
12 String y; | 12 double y; |
13 A(this.x) : y = x { y = x; } | 13 // Finding the type of an initializing formal: should cause a warning |
| 14 // in the initializer but not the body, because the former has type |
| 15 // `int` and the latter has type `num`. |
| 16 A(int this.x) : y = x { |
| 17 y = x; |
| 18 } |
14 } | 19 } |
15 | 20 |
16 main() { | 21 main() { |
17 A a = new A(null); | 22 A a = new A(null); |
18 Expect.equals(a.x, null); | 23 Expect.equals(a.x, null); |
19 Expect.equals(a.y, null); | 24 Expect.equals(a.y, null); |
20 } | 25 } |
OLD | NEW |