OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 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 | 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"; | 5 import "package:expect/expect.dart"; |
6 | 6 |
7 class A { | 7 class A { |
8 int foo; | 8 int foo; |
9 A(this.foo); | 9 A(this.foo); |
10 | 10 |
11 raw$foo() => foo; | 11 raw$foo() => foo; |
12 this$foo() => this.foo; | 12 this$foo() => this.foo; |
13 } | 13 } |
14 | 14 |
15 class B extends A { | 15 class B extends A { |
16 int foo; | 16 int foo; |
17 B.b1(x, this.foo) : super(x); | 17 B.b1(x, this.foo) : super(x); |
18 B.b2(x, y) : this.foo = y, super(x); | 18 B.b2(x, y) |
19 B.b3(x, y) : super(x), this.foo = y; | 19 : this.foo = y, |
| 20 super(x); |
| 21 B.b3(x, y) |
| 22 : super(x), |
| 23 this.foo = y; |
20 | 24 |
21 super$foo() => super.foo; | 25 super$foo() => super.foo; |
22 sum() => foo + super.foo; | 26 sum() => foo + super.foo; |
23 } | 27 } |
24 | 28 |
25 test(b) { | 29 test(b) { |
26 Expect.equals(10, b.foo); | 30 Expect.equals(10, b.foo); |
27 Expect.equals(10, b.raw$foo()); | 31 Expect.equals(10, b.raw$foo()); |
28 Expect.equals(10, b.this$foo()); | 32 Expect.equals(10, b.this$foo()); |
29 Expect.equals(100, b.super$foo()); | 33 Expect.equals(100, b.super$foo()); |
30 Expect.equals(110, b.sum()); | 34 Expect.equals(110, b.sum()); |
31 } | 35 } |
32 | 36 |
33 main() { | 37 main() { |
34 test(new B.b1(100, 10)); | 38 test(new B.b1(100, 10)); |
35 test(new B.b2(100, 10)); | 39 test(new B.b2(100, 10)); |
36 test(new B.b3(100, 10)); | 40 test(new B.b3(100, 10)); |
37 } | 41 } |
OLD | NEW |