OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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 import "package:expect/expect.dart"; | |
6 | |
7 class A { | 5 class A { |
8 int x = 1; | 6 int x = 1; |
9 A() {} | 7 A() {} |
10 A.reassign() : x = 2 {} | 8 A.reassign() : x = 2 {} |
11 A.reassign2(this.x) {} | 9 A.reassign2(this.x) {} |
12 } | 10 } |
13 | 11 |
14 class B extends A { | 12 class B extends A { |
15 B() : super() {} | 13 B() : super() {} |
16 B.reassign() : super.reassign() {} | 14 B.reassign() : super.reassign() {} |
17 B.reassign2() : super.reassign2(3) {} | 15 B.reassign2() : super.reassign2(3) {} |
18 } | 16 } |
19 | 17 |
20 class InstanceFieldInitializerTest { | 18 class InstanceFieldInitializerTest { |
21 static testMain() { | 19 static testMain() { |
22 Expect.equals(1, new A().x); | 20 Expect.equals(1, new A().x); |
23 Expect.equals(2, new A.reassign().x); | 21 Expect.equals(2, new A.reassign().x); |
24 Expect.equals(3, new A.reassign2(3).x); | 22 Expect.equals(3, new A.reassign2(3).x); |
25 | 23 |
26 Expect.equals(1, new B().x); | 24 Expect.equals(1, new B().x); |
27 Expect.equals(2, new B.reassign().x); | 25 Expect.equals(2, new B.reassign().x); |
28 Expect.equals(3, new B.reassign2().x); | 26 Expect.equals(3, new B.reassign2().x); |
29 } | 27 } |
30 } | 28 } |
31 | 29 |
32 main() { | 30 main() { |
33 InstanceFieldInitializerTest.testMain(); | 31 InstanceFieldInitializerTest.testMain(); |
34 } | 32 } |
OLD | NEW |