| // Copyright (c) 2013, 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. |
| // Dart test program for constructors and initializers. |
| |
| // @dart = 2.9 |
| |
| // Check function subtyping of simple function types. |
| |
| import 'package:expect/expect.dart'; |
| |
| typedef Args0(); |
| typedef Args1(a); |
| typedef Args2(a, b); |
| typedef Args3(a, b, c); |
| typedef Args4(a, b, c, d); |
| |
| args0_1([a]) {} |
| args1_2(a, [b]) {} |
| args0_2([a, b]) {} |
| args1_3(a, [b, c]) {} |
| |
| args0_1_named({a}) {} |
| args1_2_named(a, {b}) {} |
| args0_2_named({a, b}) {} |
| args1_3_named(a, {b, c}) {} |
| |
| main() { |
| Expect.isTrue(args0_1 is Args0); |
| Expect.isTrue(args0_1 is Args1); |
| Expect.isFalse(args0_1 is Args2); |
| Expect.isFalse(args0_1 is Args3); |
| Expect.isFalse(args0_1 is Args4); |
| |
| Expect.isFalse(args1_2 is Args0); |
| Expect.isTrue(args1_2 is Args1); |
| Expect.isTrue(args1_2 is Args2); |
| Expect.isFalse(args1_2 is Args3); |
| Expect.isFalse(args1_2 is Args4); |
| |
| Expect.isTrue(args0_2 is Args0); |
| Expect.isTrue(args0_2 is Args1); |
| Expect.isTrue(args0_2 is Args2); |
| Expect.isFalse(args0_2 is Args3); |
| Expect.isFalse(args0_2 is Args4); |
| |
| Expect.isFalse(args1_3 is Args0); |
| Expect.isTrue(args1_3 is Args1); |
| Expect.isTrue(args1_3 is Args2); |
| Expect.isTrue(args1_3 is Args3); |
| Expect.isFalse(args1_3 is Args4); |
| |
| Expect.isTrue(args0_1_named is Args0); |
| Expect.isFalse(args0_1_named is Args1); |
| Expect.isFalse(args0_1_named is Args2); |
| Expect.isFalse(args0_1_named is Args3); |
| Expect.isFalse(args0_1_named is Args4); |
| |
| Expect.isFalse(args1_2_named is Args0); |
| Expect.isTrue(args1_2_named is Args1); |
| Expect.isFalse(args1_2_named is Args2); |
| Expect.isFalse(args1_2_named is Args3); |
| Expect.isFalse(args1_2_named is Args4); |
| |
| Expect.isTrue(args0_2_named is Args0); |
| Expect.isFalse(args0_2_named is Args1); |
| Expect.isFalse(args0_2_named is Args2); |
| Expect.isFalse(args0_2_named is Args3); |
| Expect.isFalse(args0_2_named is Args4); |
| |
| Expect.isFalse(args1_3_named is Args0); |
| Expect.isTrue(args1_3_named is Args1); |
| Expect.isFalse(args1_3_named is Args2); |
| Expect.isFalse(args1_3_named is Args3); |
| Expect.isFalse(args1_3_named is Args4); |
| } |