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