// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. import "package:expect/expect.dart"; int i = 0; // Tests super calls and constructors. main() { Sub sub = new Sub(1, 2); Expect.equals(1, sub.x); Expect.equals(2, sub.y); Expect.equals(3, sub.z); Expect.equals(1, sub.v); Expect.equals(2, sub.w); Expect.equals(3, sub.u); sub = new Sub.stat(); Expect.equals(2, sub.x); Expect.equals(3, sub.y); Expect.equals(0, sub.v); Expect.equals(1, sub.w); Expect.equals(4, sub.z); Expect.equals(5, sub.u); } class Sup { var x, y, z; Sup(a, b) : this.x = a, this.y = b { z = a + b; } Sup.stat() : this.x = i++, this.y = i++ { z = i++; } } class Sub extends Sup { var u, v, w; Sub(a, b) : this.v = a, this.w = b, super(a, b) { u = a + b; } Sub.stat() : this.v = i++, this.w = i++, super.stat() { u = i++; } }