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 class A { | 5 class A { |
6 final x; | 6 final x; |
7 const A(this.x); | 7 const A(this.x); |
8 const A.redirect(x) : this(x + 1); | 8 const A.redirect(x) : this(x + 1); |
9 const A.optional([this.x = 5]); | 9 const A.optional([this.x = 5]); |
10 } | 10 } |
(...skipping 12 matching lines...) Expand all Loading... |
23 const C(x, y, this.z) : super(x, y); | 23 const C(x, y, this.z) : super(x, y); |
24 const C.redirect(x, y, z) : this(x + 33, y + 33, z + 33); | 24 const C.redirect(x, y, z) : this(x + 33, y + 33, z + 33); |
25 const C.redirect2(x, y, z) : this.redirect3(x + 333, y + 333, z + 333); | 25 const C.redirect2(x, y, z) : this.redirect3(x + 333, y + 333, z + 333); |
26 const C.redirect3(x, y, z) : this.z = z, super.redirect2(x, y); | 26 const C.redirect3(x, y, z) : this.z = z, super.redirect2(x, y); |
27 const C.optional(x, [y, this.z]) : super(x, y); | 27 const C.optional(x, [y, this.z]) : super(x, y); |
28 const C.optional2([x, y, z]): this.z = z, super(x, y); | 28 const C.optional2([x, y, z]): this.z = z, super(x, y); |
29 const C.optional3([this.z]) : super.optional2(); | 29 const C.optional3([this.z]) : super.optional2(); |
30 final z; | 30 final z; |
31 } | 31 } |
32 | 32 |
33 final a1 = const A(499); | 33 const a1 = const A(499); |
34 final a2 = const A.redirect(10499); | 34 const a2 = const A.redirect(10499); |
35 final a3 = const A.optional(); | 35 const a3 = const A.optional(); |
36 final a1b = const A.redirect(498); | 36 const a1b = const A.redirect(498); |
37 final a3b = const A(5); | 37 const a3b = const A(5); |
38 | 38 |
39 final b1 = const B(99499, -99499); | 39 const b1 = const B(99499, -99499); |
40 final b2 = const B.redirect(1234, 5678); | 40 const b2 = const B.redirect(1234, 5678); |
41 final b3 = const B.redirect2(112233, 556677); | 41 const b3 = const B.redirect2(112233, 556677); |
42 final b4 = const B.redirect3(332211, 776655); | 42 const b4 = const B.redirect3(332211, 776655); |
43 final b5 = const B.optional(43526); | 43 const b5 = const B.optional(43526); |
44 final b6 = const B.optional2(y: 9753, x:8642); | 44 const b6 = const B.optional2(y: 9753, x:8642); |
45 final b3b = const B(112233 + 122 + 1, 556677 + 122); | 45 const b3b = const B(112233 + 122 + 1, 556677 + 122); |
46 final b6b = const B(8642, 9753); | 46 const b6b = const B(8642, 9753); |
47 | 47 |
48 final c1 = const C(121, 232, 343); | 48 const c1 = const C(121, 232, 343); |
49 final c2 = const C.redirect(12321, 23432, 34543); | 49 const c2 = const C.redirect(12321, 23432, 34543); |
50 final c3 = const C.redirect2(32123, 43234, 54345); | 50 const c3 = const C.redirect2(32123, 43234, 54345); |
51 final c4 = const C.redirect3(313, 424, 535); | 51 const c4 = const C.redirect3(313, 424, 535); |
52 final c5 = const C.optional(191, 181, 171); | 52 const c5 = const C.optional(191, 181, 171); |
53 final c6 = const C.optional(-191); | 53 const c6 = const C.optional(-191); |
54 final c7 = const C.optional2(); | 54 const c7 = const C.optional2(); |
55 final c8 = const C.optional3(9911); | 55 const c8 = const C.optional3(9911); |
56 final c3b = const C(32123 + 333 + 122 + 1, 43234 + 333 + 122, 54345 + 333); | 56 const c3b = const C(32123 + 333 + 122 + 1, 43234 + 333 + 122, 54345 + 333); |
57 | 57 |
58 main() { | 58 main() { |
59 Expect.equals(499, a1.x); | 59 Expect.equals(499, a1.x); |
60 Expect.equals(10500, a2.x); | 60 Expect.equals(10500, a2.x); |
61 Expect.equals(5, a3.x); | 61 Expect.equals(5, a3.x); |
62 Expect.identical(a1, a1b); | 62 Expect.identical(a1, a1b); |
63 Expect.identical(a3, a3b); | 63 Expect.identical(a3, a3b); |
64 | 64 |
65 Expect.equals(99499, b1.x); | 65 Expect.equals(99499, b1.x); |
66 Expect.equals(-99499, b1.y); | 66 Expect.equals(-99499, b1.y); |
(...skipping 29 matching lines...) Expand all Loading... |
96 Expect.equals(null, c6.y); | 96 Expect.equals(null, c6.y); |
97 Expect.equals(null, c6.z); | 97 Expect.equals(null, c6.z); |
98 Expect.equals(null, c7.x); | 98 Expect.equals(null, c7.x); |
99 Expect.equals(null, c7.y); | 99 Expect.equals(null, c7.y); |
100 Expect.equals(null, c7.z); | 100 Expect.equals(null, c7.z); |
101 Expect.equals(null, c8.x); | 101 Expect.equals(null, c8.x); |
102 Expect.equals(null, c8.y); | 102 Expect.equals(null, c8.y); |
103 Expect.equals(9911, c8.z); | 103 Expect.equals(9911, c8.z); |
104 Expect.identical(c3, c3b); | 104 Expect.identical(c3, c3b); |
105 } | 105 } |
OLD | NEW |