blob: 28270ef5a3c0e95dcd4fff4280866fb843bdbcde [file] [log] [blame]
/*
* Copyright (c) 2011, 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.
*/
/**
* @assertion Next, q is executed with this bound to i, the type parameters (if any)
* of R bound to the actual type arguments V1, ..., Vm and the formal parameter
* bindings that resulted from the evaluation of the argument list. The result of
* the evaluation of e is i.
* @description Checks that result of a new expression with redirecting constructor
* is instance of class C.
* @author msyabro
* @reviewer rodionov
*/
import "../../../Utils/expect.dart";
class A {
A() : this.redirected();
A.redirected() {}
}
class B {
B(p1, p2) : this.redirected(p1, p2);
B.redirected(p1, p2) {}
}
class C {
C(p1, [p2]) : this.redirected(p1, p2);
C.redirected(p1, [p2]) {}
}
class D {
D.name() : this.redirected();
D.redirected() {}
}
main() {
Expect.isTrue(new A() is A);
Expect.isTrue(new B(1, 2) is B);
Expect.isTrue(new C(null, null) is C);
Expect.isTrue(new D.name() is D);
}