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 // | |
5 // DartOptions=--initializing-formal-access | |
6 // VMOptions=--initializing-formal-access | |
7 | 4 |
8 import "package:expect/expect.dart"; | 5 import "package:expect/expect.dart"; |
9 | 6 |
10 class A { | 7 class A { |
11 var x, y; | 8 var x, y; |
12 // This should cause a warning because `x` is final when | 9 // This should cause a warning because `x` is final when |
13 // accessed as an initializing formal. | 10 // accessed as an initializing formal. |
14 A(this.x) : y = (() { x = 3; }); | 11 A(this.x) : y = (() { x = 3; }); |
15 } | 12 } |
16 | 13 |
17 main() { | 14 main() { |
18 A a = new A(2); | 15 A a = new A(2); |
19 Expect.equals(a.x, 2); | 16 Expect.equals(a.x, 2); |
20 Expect.throws(() => a.y(), (e) => e is NoSuchMethodError); | 17 Expect.throws(() => a.y(), (e) => e is NoSuchMethodError); |
21 } | 18 } |
OLD | NEW |