| // 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. |
| |
| // Check function subtyping of simple function types. |
| |
| import 'package:expect/expect.dart'; |
| |
| typedef Args0(); |
| typedef Args1(Never a); |
| typedef Args2(Never a, Never b); |
| typedef Args3(Never a, Never b, Never c); |
| typedef Args4(Never a, Never b, Never c, Never d); |
| typedef Args5(Never a, Never b, Never c, Never d, Never e); |
| typedef Args6(Never a, Never b, Never c, Never d, Never e, Never f); |
| typedef Args7(Never a, Never b, Never c, Never d, Never e, Never f, Never g); |
| typedef Args8(Never a, Never b, Never c, Never d, Never e, Never f, Never g, |
| Never h); |
| typedef Args9( |
| Never a, Never b, Never c, Never d, Never e, Never f, Never g, Never h, |
| Never i); |
| typedef Args10(Never a, Never b, Never c, Never d, Never e, Never f, Never g, |
| Never h, Never i, Never j); |
| typedef Args11(Never a, Never b, Never c, Never d, Never e, Never f, Never g, |
| Never h, Never i, Never j, Never k); |
| typedef Args12(Never a, Never b, Never c, Never d, Never e, Never f, Never g, |
| Never h, Never i, Never j, Never k, Never l); |
| typedef Args13(Never a, Never b, Never c, Never d, Never e, Never f, Never g, |
| Never h, Never i, Never j, Never k, Never l, Never m); |
| typedef Args14(Never a, Never b, Never c, Never d, Never e, Never f, Never g, |
| Never h, Never i, Never j, Never k, Never l, Never m, Never n); |
| typedef Args15(Never a, Never b, Never c, Never d, Never e, Never f, Never g, |
| Never h, Never i, Never j, Never k, Never l, Never m, Never n, Never o); |
| |
| void args0() {} |
| void args1(int a) {} |
| void args2(int a, int b) {} |
| void args3(int a, int b, int c) {} |
| void args4(int a, int b, int c, int d) {} |
| void args5(int a, int b, int c, int d, int e) {} |
| void args6(int a, int b, int c, int d, int e, int f) {} |
| void args7(int a, int b, int c, int d, int e, int f, int g) {} |
| void args8(int a, int b, int c, int d, int e, int f, int g, int h) {} |
| void args9(int a, int b, int c, int d, int e, int f, int g, int h, int i) {} |
| void args10( |
| int a, int b, int c, int d, int e, int f, int g, int h, int i, int j) {} |
| void args11(int a, int b, int c, int d, int e, int f, int g, int h, int i, |
| int j, int k) {} |
| void args12(int a, int b, int c, int d, int e, int f, int g, int h, int i, |
| int j, int k, int l) {} |
| void args13(int a, int b, int c, int d, int e, int f, int g, int h, int i, |
| int j, int k, int l, int m) {} |
| void args14(int a, int b, int c, int d, int e, int f, int g, int h, int i, |
| int j, int k, int l, int m, int n) {} |
| void args15(int a, int b, int c, int d, int e, int f, int g, int h, int i, |
| int j, int k, int l, int m, int n, int o) {} |
| |
| main() { |
| Expect.isTrue(args0 is Args0); |
| Expect.isFalse(args0 is Args1); |
| Expect.isFalse(args0 is Args2); |
| Expect.isFalse(args0 is Args3); |
| Expect.isFalse(args0 is Args4); |
| Expect.isFalse(args0 is Args5); |
| Expect.isFalse(args0 is Args6); |
| Expect.isFalse(args0 is Args7); |
| Expect.isFalse(args0 is Args8); |
| Expect.isFalse(args0 is Args9); |
| Expect.isFalse(args0 is Args10); |
| Expect.isFalse(args0 is Args11); |
| Expect.isFalse(args0 is Args12); |
| Expect.isFalse(args0 is Args13); |
| Expect.isFalse(args0 is Args14); |
| Expect.isFalse(args0 is Args15); |
| |
| Expect.isFalse(args1 is Args0); |
| Expect.isTrue(args1 is Args1); |
| Expect.isFalse(args1 is Args2); |
| Expect.isFalse(args1 is Args3); |
| Expect.isFalse(args1 is Args4); |
| Expect.isFalse(args1 is Args5); |
| Expect.isFalse(args1 is Args6); |
| Expect.isFalse(args1 is Args7); |
| Expect.isFalse(args1 is Args8); |
| Expect.isFalse(args1 is Args9); |
| Expect.isFalse(args1 is Args10); |
| Expect.isFalse(args1 is Args11); |
| Expect.isFalse(args1 is Args12); |
| Expect.isFalse(args1 is Args13); |
| Expect.isFalse(args1 is Args14); |
| Expect.isFalse(args1 is Args15); |
| |
| Expect.isFalse(args2 is Args0); |
| Expect.isFalse(args2 is Args1); |
| Expect.isTrue(args2 is Args2); |
| Expect.isFalse(args2 is Args3); |
| Expect.isFalse(args2 is Args4); |
| Expect.isFalse(args2 is Args5); |
| Expect.isFalse(args2 is Args6); |
| Expect.isFalse(args2 is Args7); |
| Expect.isFalse(args2 is Args8); |
| Expect.isFalse(args2 is Args9); |
| Expect.isFalse(args2 is Args10); |
| Expect.isFalse(args2 is Args11); |
| Expect.isFalse(args2 is Args12); |
| Expect.isFalse(args2 is Args13); |
| Expect.isFalse(args2 is Args14); |
| Expect.isFalse(args2 is Args15); |
| |
| Expect.isFalse(args3 is Args0); |
| Expect.isFalse(args3 is Args1); |
| Expect.isFalse(args3 is Args2); |
| Expect.isTrue(args3 is Args3); |
| Expect.isFalse(args3 is Args4); |
| Expect.isFalse(args3 is Args5); |
| Expect.isFalse(args3 is Args6); |
| Expect.isFalse(args3 is Args7); |
| Expect.isFalse(args3 is Args8); |
| Expect.isFalse(args3 is Args9); |
| Expect.isFalse(args3 is Args10); |
| Expect.isFalse(args3 is Args11); |
| Expect.isFalse(args3 is Args12); |
| Expect.isFalse(args3 is Args13); |
| Expect.isFalse(args3 is Args14); |
| Expect.isFalse(args3 is Args15); |
| |
| Expect.isFalse(args4 is Args0); |
| Expect.isFalse(args4 is Args1); |
| Expect.isFalse(args4 is Args2); |
| Expect.isFalse(args4 is Args3); |
| Expect.isTrue(args4 is Args4); |
| Expect.isFalse(args4 is Args5); |
| Expect.isFalse(args4 is Args6); |
| Expect.isFalse(args4 is Args7); |
| Expect.isFalse(args4 is Args8); |
| Expect.isFalse(args4 is Args9); |
| Expect.isFalse(args4 is Args10); |
| Expect.isFalse(args4 is Args11); |
| Expect.isFalse(args4 is Args12); |
| Expect.isFalse(args4 is Args13); |
| Expect.isFalse(args4 is Args14); |
| Expect.isFalse(args4 is Args15); |
| |
| Expect.isFalse(args5 is Args0); |
| Expect.isFalse(args5 is Args1); |
| Expect.isFalse(args5 is Args2); |
| Expect.isFalse(args5 is Args3); |
| Expect.isFalse(args5 is Args4); |
| Expect.isTrue(args5 is Args5); |
| Expect.isFalse(args5 is Args6); |
| Expect.isFalse(args5 is Args7); |
| Expect.isFalse(args5 is Args8); |
| Expect.isFalse(args5 is Args9); |
| Expect.isFalse(args5 is Args10); |
| Expect.isFalse(args5 is Args11); |
| Expect.isFalse(args5 is Args12); |
| Expect.isFalse(args5 is Args13); |
| Expect.isFalse(args5 is Args14); |
| Expect.isFalse(args5 is Args15); |
| |
| Expect.isFalse(args6 is Args0); |
| Expect.isFalse(args6 is Args1); |
| Expect.isFalse(args6 is Args2); |
| Expect.isFalse(args6 is Args3); |
| Expect.isFalse(args6 is Args4); |
| Expect.isFalse(args6 is Args5); |
| Expect.isTrue(args6 is Args6); |
| Expect.isFalse(args6 is Args7); |
| Expect.isFalse(args6 is Args8); |
| Expect.isFalse(args6 is Args9); |
| Expect.isFalse(args6 is Args10); |
| Expect.isFalse(args6 is Args11); |
| Expect.isFalse(args6 is Args12); |
| Expect.isFalse(args6 is Args13); |
| Expect.isFalse(args6 is Args14); |
| Expect.isFalse(args6 is Args15); |
| |
| Expect.isFalse(args7 is Args0); |
| Expect.isFalse(args7 is Args1); |
| Expect.isFalse(args7 is Args2); |
| Expect.isFalse(args7 is Args3); |
| Expect.isFalse(args7 is Args4); |
| Expect.isFalse(args7 is Args5); |
| Expect.isFalse(args7 is Args6); |
| Expect.isTrue(args7 is Args7); |
| Expect.isFalse(args7 is Args8); |
| Expect.isFalse(args7 is Args9); |
| Expect.isFalse(args7 is Args10); |
| Expect.isFalse(args7 is Args11); |
| Expect.isFalse(args7 is Args12); |
| Expect.isFalse(args7 is Args13); |
| Expect.isFalse(args7 is Args14); |
| Expect.isFalse(args7 is Args15); |
| |
| Expect.isFalse(args8 is Args0); |
| Expect.isFalse(args8 is Args1); |
| Expect.isFalse(args8 is Args2); |
| Expect.isFalse(args8 is Args3); |
| Expect.isFalse(args8 is Args4); |
| Expect.isFalse(args8 is Args5); |
| Expect.isFalse(args8 is Args6); |
| Expect.isFalse(args8 is Args7); |
| Expect.isTrue(args8 is Args8); |
| Expect.isFalse(args8 is Args9); |
| Expect.isFalse(args8 is Args10); |
| Expect.isFalse(args8 is Args11); |
| Expect.isFalse(args8 is Args12); |
| Expect.isFalse(args8 is Args13); |
| Expect.isFalse(args8 is Args14); |
| Expect.isFalse(args8 is Args15); |
| |
| Expect.isFalse(args9 is Args0); |
| Expect.isFalse(args9 is Args1); |
| Expect.isFalse(args9 is Args2); |
| Expect.isFalse(args9 is Args3); |
| Expect.isFalse(args9 is Args4); |
| Expect.isFalse(args9 is Args5); |
| Expect.isFalse(args9 is Args6); |
| Expect.isFalse(args9 is Args7); |
| Expect.isFalse(args9 is Args8); |
| Expect.isTrue(args9 is Args9); |
| Expect.isFalse(args9 is Args10); |
| Expect.isFalse(args9 is Args11); |
| Expect.isFalse(args9 is Args12); |
| Expect.isFalse(args9 is Args13); |
| Expect.isFalse(args9 is Args14); |
| Expect.isFalse(args9 is Args15); |
| |
| Expect.isFalse(args10 is Args0); |
| Expect.isFalse(args10 is Args1); |
| Expect.isFalse(args10 is Args2); |
| Expect.isFalse(args10 is Args3); |
| Expect.isFalse(args10 is Args4); |
| Expect.isFalse(args10 is Args5); |
| Expect.isFalse(args10 is Args6); |
| Expect.isFalse(args10 is Args7); |
| Expect.isFalse(args10 is Args8); |
| Expect.isFalse(args10 is Args9); |
| Expect.isTrue(args10 is Args10); |
| Expect.isFalse(args10 is Args11); |
| Expect.isFalse(args10 is Args12); |
| Expect.isFalse(args10 is Args13); |
| Expect.isFalse(args10 is Args14); |
| Expect.isFalse(args10 is Args15); |
| |
| Expect.isFalse(args11 is Args0); |
| Expect.isFalse(args11 is Args1); |
| Expect.isFalse(args11 is Args2); |
| Expect.isFalse(args11 is Args3); |
| Expect.isFalse(args11 is Args4); |
| Expect.isFalse(args11 is Args5); |
| Expect.isFalse(args11 is Args6); |
| Expect.isFalse(args11 is Args7); |
| Expect.isFalse(args11 is Args8); |
| Expect.isFalse(args11 is Args9); |
| Expect.isFalse(args11 is Args10); |
| Expect.isTrue(args11 is Args11); |
| Expect.isFalse(args11 is Args12); |
| Expect.isFalse(args11 is Args13); |
| Expect.isFalse(args11 is Args14); |
| Expect.isFalse(args11 is Args15); |
| |
| Expect.isFalse(args12 is Args0); |
| Expect.isFalse(args12 is Args1); |
| Expect.isFalse(args12 is Args2); |
| Expect.isFalse(args12 is Args3); |
| Expect.isFalse(args12 is Args4); |
| Expect.isFalse(args12 is Args5); |
| Expect.isFalse(args12 is Args6); |
| Expect.isFalse(args12 is Args7); |
| Expect.isFalse(args12 is Args8); |
| Expect.isFalse(args12 is Args9); |
| Expect.isFalse(args12 is Args10); |
| Expect.isFalse(args12 is Args11); |
| Expect.isTrue(args12 is Args12); |
| Expect.isFalse(args12 is Args13); |
| Expect.isFalse(args12 is Args14); |
| Expect.isFalse(args12 is Args15); |
| |
| Expect.isFalse(args13 is Args0); |
| Expect.isFalse(args13 is Args1); |
| Expect.isFalse(args13 is Args2); |
| Expect.isFalse(args13 is Args3); |
| Expect.isFalse(args13 is Args4); |
| Expect.isFalse(args13 is Args5); |
| Expect.isFalse(args13 is Args6); |
| Expect.isFalse(args13 is Args7); |
| Expect.isFalse(args13 is Args8); |
| Expect.isFalse(args13 is Args9); |
| Expect.isFalse(args13 is Args10); |
| Expect.isFalse(args13 is Args11); |
| Expect.isFalse(args13 is Args12); |
| Expect.isTrue(args13 is Args13); |
| Expect.isFalse(args13 is Args14); |
| Expect.isFalse(args13 is Args15); |
| |
| Expect.isFalse(args14 is Args0); |
| Expect.isFalse(args14 is Args1); |
| Expect.isFalse(args14 is Args2); |
| Expect.isFalse(args14 is Args3); |
| Expect.isFalse(args14 is Args4); |
| Expect.isFalse(args14 is Args5); |
| Expect.isFalse(args14 is Args6); |
| Expect.isFalse(args14 is Args7); |
| Expect.isFalse(args14 is Args8); |
| Expect.isFalse(args14 is Args9); |
| Expect.isFalse(args14 is Args10); |
| Expect.isFalse(args14 is Args11); |
| Expect.isFalse(args14 is Args12); |
| Expect.isFalse(args14 is Args13); |
| Expect.isTrue(args14 is Args14); |
| Expect.isFalse(args14 is Args15); |
| |
| Expect.isFalse(args15 is Args0); |
| Expect.isFalse(args15 is Args1); |
| Expect.isFalse(args15 is Args2); |
| Expect.isFalse(args15 is Args3); |
| Expect.isFalse(args15 is Args4); |
| Expect.isFalse(args15 is Args5); |
| Expect.isFalse(args15 is Args6); |
| Expect.isFalse(args15 is Args7); |
| Expect.isFalse(args15 is Args8); |
| Expect.isFalse(args15 is Args9); |
| Expect.isFalse(args15 is Args10); |
| Expect.isFalse(args15 is Args11); |
| Expect.isFalse(args15 is Args12); |
| Expect.isFalse(args15 is Args13); |
| Expect.isFalse(args15 is Args14); |
| Expect.isTrue(args15 is Args15); |
| } |