OLD | NEW |
| (Empty) |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | |
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. | |
4 | |
5 int i = 0; | |
6 | |
7 // Tests super calls and constructors. | |
8 main() { | |
9 Sub sub = new Sub(1, 2); | |
10 Expect.equals(1, sub.x); | |
11 Expect.equals(2, sub.y); | |
12 Expect.equals(3, sub.z); | |
13 Expect.equals(1, sub.v); | |
14 Expect.equals(2, sub.w); | |
15 Expect.equals(3, sub.u); | |
16 | |
17 sub = new Sub.stat(); | |
18 Expect.equals(0, sub.x); | |
19 Expect.equals(1, sub.y); | |
20 Expect.equals(2, sub.v); | |
21 Expect.equals(3, sub.w); | |
22 Expect.equals(4, sub.z); | |
23 Expect.equals(5, sub.u); | |
24 } | |
25 | |
26 class Sup { | |
27 var x, y, z; | |
28 | |
29 Sup(a, b) : this.x = a, this.y = b { | |
30 z = a + b; | |
31 } | |
32 | |
33 Sup.stat() : this.x = i++, this.y = i++ { | |
34 z = i++; | |
35 } | |
36 } | |
37 | |
38 class Sub extends Sup { | |
39 var u, v, w; | |
40 | |
41 Sub(a, b) : super(a, b), this.v = a, this.w = b { | |
42 u = a + b; | |
43 } | |
44 | |
45 Sub.stat() : super.stat(), this.v = i++, this.w = i++ { | |
46 u = i++; | |
47 } | |
48 } | |
OLD | NEW |