| OLD | NEW |
| (Empty) |
| 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 | |
| 3 // BSD-style license that can be found in the LICENSE file. | |
| 4 // Dart test for testing order of constructor invocation. | |
| 5 | |
| 6 var trace = ""; | |
| 7 | |
| 8 int rec(int i) { | |
| 9 trace = trace.concat("$i "); | |
| 10 return i; | |
| 11 } | |
| 12 | |
| 13 class A { | |
| 14 A(int x) : x = rec(2) { | |
| 15 Expect.equals(1, x); // Parameter x | |
| 16 Expect.equals(2, this.x); | |
| 17 rec(5); | |
| 18 } | |
| 19 final int x; | |
| 20 } | |
| 21 | |
| 22 class B extends A { | |
| 23 B(this.a, int y, int z) | |
| 24 : super(rec(1)), z = rec(3), y = rec(4) { | |
| 25 rec(6); | |
| 26 } | |
| 27 int a; | |
| 28 int y; | |
| 29 int z; | |
| 30 } | |
| 31 | |
| 32 main() { | |
| 33 var test = new B(rec(0), 0, 0); | |
| 34 Expect.equals(0, test.a); | |
| 35 Expect.equals(2, test.x); | |
| 36 Expect.equals(4, test.y); | |
| 37 Expect.equals(3, test.z); | |
| 38 Expect.equals("0 1 2 3 4 5 6 ", trace); | |
| 39 } | |
| 40 | |
| OLD | NEW |