| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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 // Dart test program for constructors and initializers. | 4 // Dart test program for constructors and initializers. |
| 5 | 5 |
| 6 // Super initializer and super constructor body are executed in with the same | 6 // Super initializer and super constructor body are executed in with the same |
| 7 // bindings. | 7 // bindings. |
| 8 | 8 |
| 9 String trace = ""; | 9 String trace = ""; |
| 10 | 10 |
| 11 int E(int i) { | 11 int E(int i) { |
| 12 trace = "$trace$i-"; | 12 trace = "$trace$i-"; |
| 13 return i; | 13 return i; |
| 14 } | 14 } |
| 15 | 15 |
| 16 class A { | 16 class A { |
| 17 A([arg1 = 100, arg2 = 200]) : a1 = E(arg1++), a2 = E(arg2++) { | 17 A({arg1: 100, arg2: 200}) : a1 = E(arg1++), a2 = E(arg2++) { |
| 18 // b2 should be initialized between the above initializers and the following | 18 // b2 should be initialized between the above initializers and the following |
| 19 // statements. | 19 // statements. |
| 20 E(arg1); // 101 | 20 E(arg1); // 101 |
| 21 E(arg2); // 51 | 21 E(arg2); // 51 |
| 22 } | 22 } |
| 23 var a1; | 23 var a1; |
| 24 var a2; | 24 var a2; |
| 25 } | 25 } |
| 26 | 26 |
| 27 class B extends A { | 27 class B extends A { |
| (...skipping 13 matching lines...) Expand all Loading... |
| 41 | 41 |
| 42 main() { | 42 main() { |
| 43 var c = new C(); | 43 var c = new C(); |
| 44 Expect.equals(100, c.a1); | 44 Expect.equals(100, c.a1); |
| 45 Expect.equals(50, c.a2); | 45 Expect.equals(50, c.a2); |
| 46 Expect.equals(10, c.b1); | 46 Expect.equals(10, c.b1); |
| 47 Expect.equals(20, c.b2); | 47 Expect.equals(20, c.b2); |
| 48 | 48 |
| 49 Expect.equals("10-100-50-20-101-51-11-21-", trace); | 49 Expect.equals("10-100-50-20-101-51-11-21-", trace); |
| 50 } | 50 } |
| OLD | NEW |