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 C { | 7 class C { |
11 final int x; | 8 final int x; |
12 final int y; | 9 final int y; |
13 | 10 |
14 const C.constant(this.x) : y = x + 1; | 11 const C.constant(this.x) : y = x + 1; |
15 | 12 |
16 C(this.x) : y = x + 1 { | 13 C(this.x) : y = x + 1 { |
17 int z = x + 2; | 14 int z = x + 2; |
18 assert(z == y + 1); | 15 assert(z == y + 1); |
19 } | 16 } |
20 } | 17 } |
21 | 18 |
22 main() { | 19 main() { |
23 C c = new C(2); | 20 C c = new C(2); |
24 Expect.equals(c.x, 2); | 21 Expect.equals(c.x, 2); |
25 Expect.equals(c.y, 3); | 22 Expect.equals(c.y, 3); |
26 const C cc = const C.constant(4); | 23 const C cc = const C.constant(4); |
27 Expect.equals(cc.x, 4); | 24 Expect.equals(cc.x, 4); |
28 Expect.equals(cc.y, 5); | 25 Expect.equals(cc.y, 5); |
29 } | 26 } |
OLD | NEW |