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 // Check const classes. | 4 // Check const classes. |
5 | 5 |
6 class AConst { | 6 class AConst { |
7 const AConst() : b_ = 3 ; | 7 const AConst() : b_ = 3 ; |
8 final int b_; | 8 final int b_; |
9 } | 9 } |
10 | 10 |
11 | 11 |
12 class BConst { | 12 class BConst { |
13 const BConst(); | 13 const BConst(); |
14 set foo(value) {} | 14 set foo(value) {} |
15 get foo() { return 5; } | 15 get foo { return 5; } |
16 | 16 |
17 operator [](ix) { return ix; } | 17 operator [](ix) { return ix; } |
18 operator []=(ix, value) {} | 18 operator []=(ix, value) {} |
19 } | 19 } |
20 | 20 |
21 | 21 |
22 testMain() { | 22 testMain() { |
23 var o = const AConst(); | 23 var o = const AConst(); |
24 Expect.equals(3, o.b_); | 24 Expect.equals(3, o.b_); |
25 | 25 |
26 var x = (const BConst()).foo++; | 26 var x = (const BConst()).foo++; |
27 Expect.equals(5, x); | 27 Expect.equals(5, x); |
28 | 28 |
29 var y = (const BConst())[5]++; | 29 var y = (const BConst())[5]++; |
30 Expect.equals(5, y); | 30 Expect.equals(5, y); |
31 } | 31 } |
32 | 32 |
33 | 33 |
34 main() { | 34 main() { |
35 for (int i = 0; i < 1000; i++) { | 35 for (int i = 0; i < 1000; i++) { |
36 testMain(); | 36 testMain(); |
37 } | 37 } |
38 } | 38 } |
OLD | NEW |