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 // Test that initializers for final fields are evaluated in the right | 5 // Test that initializers for final fields are evaluated in the right |
6 // order. | 6 // order. |
7 | 7 |
8 int counter = 0; | 8 int counter = 0; |
9 | 9 |
10 class Mark { | 10 class Mark { |
11 static StringBuffer buffer; | 11 static StringBuffer buffer; |
12 Mark(value) { | 12 Mark(value) { |
13 buffer.add('$value.'); | 13 buffer.write('$value.'); |
14 } | 14 } |
15 } | 15 } |
16 | 16 |
17 class OneField { | 17 class OneField { |
18 final a = new Mark('a'); | 18 final a = new Mark('a'); |
19 OneField(); | 19 OneField(); |
20 } | 20 } |
21 | 21 |
22 class TwoFields { | 22 class TwoFields { |
23 final a = new Mark('a'); | 23 final a = new Mark('a'); |
(...skipping 25 matching lines...) Expand all Loading... |
49 main() { | 49 main() { |
50 Expect.equals('a.', run(() => new OneField())); | 50 Expect.equals('a.', run(() => new OneField())); |
51 Expect.equals('a.b.', run(() => new TwoFields())); | 51 Expect.equals('a.b.', run(() => new TwoFields())); |
52 Expect.equals('b.a.', run(() => new InheritOneField())); | 52 Expect.equals('b.a.', run(() => new InheritOneField())); |
53 | 53 |
54 Expect.equals('b.c.d.a.', run(() => new MixedFields())); | 54 Expect.equals('b.c.d.a.', run(() => new MixedFields())); |
55 Expect.equals('b.c.d.cc.a.', run(() => new MixedFields.c0())); | 55 Expect.equals('b.c.d.cc.a.', run(() => new MixedFields.c0())); |
56 Expect.equals('b.c.d.cc.a.', run(() => new MixedFields.c1())); | 56 Expect.equals('b.c.d.cc.a.', run(() => new MixedFields.c1())); |
57 Expect.equals('b.c.d.a.cc.', run(() => new MixedFields.c2())); | 57 Expect.equals('b.c.d.a.cc.', run(() => new MixedFields.c2())); |
58 } | 58 } |
OLD | NEW |