| 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 program for constructors and initializers. |  | 
|   5  |  | 
|   6 // Expect the initializer expressions E(i) to be evaluated |  | 
|   7 // in the order 1, 2, 3, ... |  | 
|   8 // Each expression must be evaluated exactly once. |  | 
|   9  |  | 
|  10 String trace = ""; |  | 
|  11  |  | 
|  12 int E(int i) { |  | 
|  13   trace = trace.concat("$i-"); |  | 
|  14   return i; |  | 
|  15 } |  | 
|  16  |  | 
|  17 class A { |  | 
|  18   var a1; |  | 
|  19   A(x, y) : a1 = E(3) { |  | 
|  20     Expect.equals(1, x); |  | 
|  21     Expect.equals(2, y); |  | 
|  22     E(5); |  | 
|  23   } |  | 
|  24 } |  | 
|  25  |  | 
|  26 class B extends A { |  | 
|  27   var b1; |  | 
|  28   B(x) : super(E(1), E(2)), b1 = E(4) { |  | 
|  29     // Implicit super call to A's body happens here. |  | 
|  30     Expect.equals(4, b1); |  | 
|  31     E(6); |  | 
|  32   } |  | 
|  33 } |  | 
|  34  |  | 
|  35 main() { |  | 
|  36   var b = new B(0); |  | 
|  37   Expect.equals("1-2-3-4-5-6-", trace); |  | 
|  38 } |  | 
| OLD | NEW |