| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 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. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 // GENERATED - DON'T EDIT. | 5 // GENERATED - DON'T EDIT. |
| 6 // GENERATED - DON'T EDIT. | 6 // GENERATED - DON'T EDIT. |
| 7 // GENERATED - DON'T EDIT. | 7 // GENERATED - DON'T EDIT. |
| 8 // GENERATED - DON'T EDIT. | 8 // GENERATED - DON'T EDIT. |
| 9 // GENERATED - DON'T EDIT. | 9 // GENERATED - DON'T EDIT. |
| 10 // GENERATED - DON'T EDIT. | 10 // GENERATED - DON'T EDIT. |
| 11 // GENERATED - DON'T EDIT. | 11 // GENERATED - DON'T EDIT. |
| 12 // GENERATED - DON'T EDIT. | 12 // GENERATED - DON'T EDIT. |
| 13 | 13 |
| 14 import 'dart:core'; | 14 import 'dart:core'; |
| 15 import 'dart:core' as core; | 15 import 'dart:core' as core; |
| 16 import 'package:expect/expect.dart'; | 16 import 'package:expect/expect.dart'; |
| 17 | 17 |
| 18 @NoInline() | 18 @NoInline() |
| 19 @AssumeDynamic() | 19 @AssumeDynamic() |
| 20 confuse(f) => f; | 20 confuse(f) => f; |
| 21 | 21 |
| 22 final bool inCheckedMode = (() { | 22 typedef F0<T> = int Function(List<T> x0); |
| 23 bool result = false; | 23 typedef F1<T> = List<Function> Function(int y, [core.List<core.int> x]); |
| 24 assert(result = true); | 24 typedef F2<T> = List<T> Function(int x0, [List<Function> x]); |
| 25 return result; | 25 typedef F3<T> = void Function([Function x]); |
| 26 })(); | 26 typedef F4<T> = List<A> Function<A>(int x); |
| 27 | 27 typedef F5<T> = int Function(int y, {Function x}) Function(); |
| 28 typedef F0<T> | 28 typedef F6<T> = int Function(int x0, [List<T> x]) Function(); |
| 29 = int Function(List<T> x0); | 29 typedef F7<T> = Function Function(Function x0) Function(); |
| 30 typedef F1<T> | 30 typedef F8<T> = Function Function(int x, [core.List<core.int> x2]) Function(); |
| 31 = List<Function> Function(int y, [core.List<core.int> x]); | 31 typedef F9<T> = List<Function> Function(int x0, {int x}) Function(); |
| 32 typedef F2<T> | 32 typedef F10<T> = List<Function> Function([core.List<core.int> x]) Function(); |
| 33 = List<T> Function(int x0, [List<Function> x]); | 33 typedef F11<T> = core.List<core.int> Function(int y, [int x]) Function(); |
| 34 typedef F3<T> | 34 typedef F12<T> = core.List<core.int> Function(int x1, [List<Function> x2]) |
| 35 = void Function([Function x]); | 35 Function(); |
| 36 typedef F4<T> | 36 typedef F13<T> = core.List<core.int> Function(int x0, {List<T> x}) Function(); |
| 37 = List<A> Function<A>(int x); | 37 typedef F14<T> = List<T> Function(List<Function> x) Function(); |
| 38 typedef F5<T> | 38 typedef F15<T> = List<T> Function(int y, [List<T> x]) Function(); |
| 39 = int Function(int y, {Function x}) Function(); | 39 typedef F16<T> = Function([Function x1]) Function(); |
| 40 typedef F6<T> | 40 typedef F17<T> = Function({core.List<core.int> x}) Function(); |
| 41 = int Function(int x0, [List<T> x]) Function(); | 41 typedef F18<T> = void Function(int y, {int x}) Function(); |
| 42 typedef F7<T> | 42 typedef F19<T> = void Function(int x0, [core.List<core.int> x]) Function(); |
| 43 = Function Function(Function x0) Function(); | 43 typedef F20<T> = int Function<A>(List<T> x) Function(); |
| 44 typedef F8<T> | 44 typedef F21<T> = core.List<core.int> Function<A>() Function(); |
| 45 = Function Function(int x, [core.List<core.int> x2]) Function(); | 45 typedef F22<T> = A Function<A>(A x) Function(); |
| 46 typedef F9<T> | 46 typedef F23<T> = B Function() Function<B extends core.int>(); |
| 47 = List<Function> Function(int x0, {int x}) Function(); | |
| 48 typedef F10<T> | |
| 49 = List<Function> Function([core.List<core.int> x]) Function(); | |
| 50 typedef F11<T> | |
| 51 = core.List<core.int> Function(int y, [int x]) Function(); | |
| 52 typedef F12<T> | |
| 53 = core.List<core.int> Function(int x1, [List<Function> x2]) Function(); | |
| 54 typedef F13<T> | |
| 55 = core.List<core.int> Function(int x0, {List<T> x}) Function(); | |
| 56 typedef F14<T> | |
| 57 = List<T> Function(List<Function> x) Function(); | |
| 58 typedef F15<T> | |
| 59 = List<T> Function(int y, [List<T> x]) Function(); | |
| 60 typedef F16<T> | |
| 61 = Function([Function x1]) Function(); | |
| 62 typedef F17<T> | |
| 63 = Function({core.List<core.int> x}) Function(); | |
| 64 typedef F18<T> | |
| 65 = void Function(int y, {int x}) Function(); | |
| 66 typedef F19<T> | |
| 67 = void Function(int x0, [core.List<core.int> x]) Function(); | |
| 68 typedef F20<T> | |
| 69 = int Function<A>(List<T> x) Function(); | |
| 70 typedef F21<T> | |
| 71 = core.List<core.int> Function<A>() Function(); | |
| 72 typedef F22<T> | |
| 73 = A Function<A>(A x) Function(); | |
| 74 typedef F23<T> | |
| 75 = B Function() Function<B extends core.int>(); | |
| 76 | 47 |
| 77 int f0(List<int> x0) => null; | 48 int f0(List<int> x0) => null; |
| 78 List<Function> f1(int y, [core.List<core.int> x]) => null; | 49 List<Function> f1(int y, [core.List<core.int> x]) => null; |
| 79 List<int> f2(int x0, [List<Function> x]) => null; | 50 List<int> f2(int x0, [List<Function> x]) => null; |
| 80 void f3([Function x]) => null; | 51 void f3([Function x]) => null; |
| 81 List<A> f4<A>(int x) => null; | 52 List<A> f4<A>(int x) => null; |
| 82 int Function(int y, {Function x}) f5() => null; | 53 int Function(int y, {Function x}) f5() => null; |
| 83 int Function(int x0, [List<int> x]) f6() => null; | 54 int Function(int x0, [List<int> x]) f6() => null; |
| 84 Function Function(Function x0) f7() => null; | 55 Function Function(Function x0) f7() => null; |
| 85 Function Function(int x, [core.List<core.int> x0]) f8() => null; | 56 Function Function(int x, [core.List<core.int> x0]) f8() => null; |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 207 x0 = confuse(m0); | 178 x0 = confuse(m0); |
| 208 l0 = confuse(m0); | 179 l0 = confuse(m0); |
| 209 if (!tIsBool) { | 180 if (!tIsBool) { |
| 210 Expect.isTrue(f0 is F0<int>); | 181 Expect.isTrue(f0 is F0<int>); |
| 211 Expect.isFalse(f0 is F0<bool>); | 182 Expect.isFalse(f0 is F0<bool>); |
| 212 Expect.isTrue(confuse(f0) is F0<int>); | 183 Expect.isTrue(confuse(f0) is F0<int>); |
| 213 Expect.isFalse(confuse(f0) is F0<bool>); | 184 Expect.isFalse(confuse(f0) is F0<bool>); |
| 214 Expect.equals(tIsDynamic, m0 is F0<bool>); | 185 Expect.equals(tIsDynamic, m0 is F0<bool>); |
| 215 Expect.equals(tIsDynamic, confuse(m0) is F0<bool>); | 186 Expect.equals(tIsDynamic, confuse(m0) is F0<bool>); |
| 216 } else { | 187 } else { |
| 217 if (inCheckedMode) { | 188 if (typeAssertionsEnabled) { |
| 218 Expect.throws(() { | 189 Expect.throws(() { |
| 219 x0 = (f0 as dynamic); | 190 x0 = (f0 as dynamic); |
| 220 }); | 191 }); |
| 221 Expect.throws(() { | 192 Expect.throws(() { |
| 222 x0 = confuse(f0); | 193 x0 = confuse(f0); |
| 223 }); | 194 }); |
| 224 int Function(List<T> x0) l0; | 195 int Function(List<T> x0) l0; |
| 225 Expect.throws(() { | 196 Expect.throws(() { |
| 226 l0 = (f0 as dynamic); | 197 l0 = (f0 as dynamic); |
| 227 }); | 198 }); |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 284 x2 = confuse(m2); | 255 x2 = confuse(m2); |
| 285 l2 = confuse(m2); | 256 l2 = confuse(m2); |
| 286 if (!tIsBool) { | 257 if (!tIsBool) { |
| 287 Expect.isTrue(f2 is F2<int>); | 258 Expect.isTrue(f2 is F2<int>); |
| 288 Expect.isFalse(f2 is F2<bool>); | 259 Expect.isFalse(f2 is F2<bool>); |
| 289 Expect.isTrue(confuse(f2) is F2<int>); | 260 Expect.isTrue(confuse(f2) is F2<int>); |
| 290 Expect.isFalse(confuse(f2) is F2<bool>); | 261 Expect.isFalse(confuse(f2) is F2<bool>); |
| 291 Expect.equals(tIsDynamic, m2 is F2<bool>); | 262 Expect.equals(tIsDynamic, m2 is F2<bool>); |
| 292 Expect.equals(tIsDynamic, confuse(m2) is F2<bool>); | 263 Expect.equals(tIsDynamic, confuse(m2) is F2<bool>); |
| 293 } else { | 264 } else { |
| 294 if (inCheckedMode) { | 265 if (typeAssertionsEnabled) { |
| 295 Expect.throws(() { | 266 Expect.throws(() { |
| 296 x2 = (f2 as dynamic); | 267 x2 = (f2 as dynamic); |
| 297 }); | 268 }); |
| 298 Expect.throws(() { | 269 Expect.throws(() { |
| 299 x2 = confuse(f2); | 270 x2 = confuse(f2); |
| 300 }); | 271 }); |
| 301 List<T> Function(int x0, [List<Function> x]) l2; | 272 List<T> Function(int x0, [List<Function> x]) l2; |
| 302 Expect.throws(() { | 273 Expect.throws(() { |
| 303 l2 = (f2 as dynamic); | 274 l2 = (f2 as dynamic); |
| 304 }); | 275 }); |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 408 x6 = confuse(m6); | 379 x6 = confuse(m6); |
| 409 l6 = confuse(m6); | 380 l6 = confuse(m6); |
| 410 if (!tIsBool) { | 381 if (!tIsBool) { |
| 411 Expect.isTrue(f6 is F6<int>); | 382 Expect.isTrue(f6 is F6<int>); |
| 412 Expect.isFalse(f6 is F6<bool>); | 383 Expect.isFalse(f6 is F6<bool>); |
| 413 Expect.isTrue(confuse(f6) is F6<int>); | 384 Expect.isTrue(confuse(f6) is F6<int>); |
| 414 Expect.isFalse(confuse(f6) is F6<bool>); | 385 Expect.isFalse(confuse(f6) is F6<bool>); |
| 415 Expect.equals(tIsDynamic, m6 is F6<bool>); | 386 Expect.equals(tIsDynamic, m6 is F6<bool>); |
| 416 Expect.equals(tIsDynamic, confuse(m6) is F6<bool>); | 387 Expect.equals(tIsDynamic, confuse(m6) is F6<bool>); |
| 417 } else { | 388 } else { |
| 418 if (inCheckedMode) { | 389 if (typeAssertionsEnabled) { |
| 419 Expect.throws(() { | 390 Expect.throws(() { |
| 420 x6 = (f6 as dynamic); | 391 x6 = (f6 as dynamic); |
| 421 }); | 392 }); |
| 422 Expect.throws(() { | 393 Expect.throws(() { |
| 423 x6 = confuse(f6); | 394 x6 = confuse(f6); |
| 424 }); | 395 }); |
| 425 int Function(int x0, [List<T> x]) Function() l6; | 396 int Function(int x0, [List<T> x]) Function() l6; |
| 426 Expect.throws(() { | 397 Expect.throws(() { |
| 427 l6 = (f6 as dynamic); | 398 l6 = (f6 as dynamic); |
| 428 }); | 399 }); |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 569 // The static function f12 sets `T` to `int`. | 540 // The static function f12 sets `T` to `int`. |
| 570 if (!tIsBool) { | 541 if (!tIsBool) { |
| 571 x12 = f12 as dynamic; | 542 x12 = f12 as dynamic; |
| 572 l12 = f12 as dynamic; | 543 l12 = f12 as dynamic; |
| 573 x12 = confuse(f12); | 544 x12 = confuse(f12); |
| 574 l12 = confuse(f12); | 545 l12 = confuse(f12); |
| 575 } | 546 } |
| 576 | 547 |
| 577 Expect.isTrue(m12 is F12); | 548 Expect.isTrue(m12 is F12); |
| 578 Expect.isTrue(m12 is core.List<core.int> Function(int x1, | 549 Expect.isTrue(m12 is core.List<core.int> Function(int x1, |
| 579 [List<Function> x2]) Function()); | 550 [List<Function> x2]) |
| 551 Function()); |
| 580 Expect.isTrue(confuse(m12) is F12); | 552 Expect.isTrue(confuse(m12) is F12); |
| 581 // In checked mode, verifies the type. | 553 // In checked mode, verifies the type. |
| 582 x12 = m12; | 554 x12 = m12; |
| 583 l12 = m12; | 555 l12 = m12; |
| 584 x12 = confuse(m12); | 556 x12 = confuse(m12); |
| 585 l12 = confuse(m12); | 557 l12 = confuse(m12); |
| 586 } | 558 } |
| 587 | 559 |
| 588 /// core.List<core.int> Function(int x0, {List<T> x}) Function() | 560 /// core.List<core.int> Function(int x0, {List<T> x}) Function() |
| 589 void testF13() { | 561 void testF13() { |
| (...skipping 19 matching lines...) Expand all Loading... |
| 609 x13 = confuse(m13); | 581 x13 = confuse(m13); |
| 610 l13 = confuse(m13); | 582 l13 = confuse(m13); |
| 611 if (!tIsBool) { | 583 if (!tIsBool) { |
| 612 Expect.isTrue(f13 is F13<int>); | 584 Expect.isTrue(f13 is F13<int>); |
| 613 Expect.isFalse(f13 is F13<bool>); | 585 Expect.isFalse(f13 is F13<bool>); |
| 614 Expect.isTrue(confuse(f13) is F13<int>); | 586 Expect.isTrue(confuse(f13) is F13<int>); |
| 615 Expect.isFalse(confuse(f13) is F13<bool>); | 587 Expect.isFalse(confuse(f13) is F13<bool>); |
| 616 Expect.equals(tIsDynamic, m13 is F13<bool>); | 588 Expect.equals(tIsDynamic, m13 is F13<bool>); |
| 617 Expect.equals(tIsDynamic, confuse(m13) is F13<bool>); | 589 Expect.equals(tIsDynamic, confuse(m13) is F13<bool>); |
| 618 } else { | 590 } else { |
| 619 if (inCheckedMode) { | 591 if (typeAssertionsEnabled) { |
| 620 Expect.throws(() { | 592 Expect.throws(() { |
| 621 x13 = (f13 as dynamic); | 593 x13 = (f13 as dynamic); |
| 622 }); | 594 }); |
| 623 Expect.throws(() { | 595 Expect.throws(() { |
| 624 x13 = confuse(f13); | 596 x13 = confuse(f13); |
| 625 }); | 597 }); |
| 626 core.List<core.int> Function(int x0, {List<T> x}) Function() l13; | 598 core.List<core.int> Function(int x0, {List<T> x}) Function() l13; |
| 627 Expect.throws(() { | 599 Expect.throws(() { |
| 628 l13 = (f13 as dynamic); | 600 l13 = (f13 as dynamic); |
| 629 }); | 601 }); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 661 x14 = confuse(m14); | 633 x14 = confuse(m14); |
| 662 l14 = confuse(m14); | 634 l14 = confuse(m14); |
| 663 if (!tIsBool) { | 635 if (!tIsBool) { |
| 664 Expect.isTrue(f14 is F14<int>); | 636 Expect.isTrue(f14 is F14<int>); |
| 665 Expect.isFalse(f14 is F14<bool>); | 637 Expect.isFalse(f14 is F14<bool>); |
| 666 Expect.isTrue(confuse(f14) is F14<int>); | 638 Expect.isTrue(confuse(f14) is F14<int>); |
| 667 Expect.isFalse(confuse(f14) is F14<bool>); | 639 Expect.isFalse(confuse(f14) is F14<bool>); |
| 668 Expect.equals(tIsDynamic, m14 is F14<bool>); | 640 Expect.equals(tIsDynamic, m14 is F14<bool>); |
| 669 Expect.equals(tIsDynamic, confuse(m14) is F14<bool>); | 641 Expect.equals(tIsDynamic, confuse(m14) is F14<bool>); |
| 670 } else { | 642 } else { |
| 671 if (inCheckedMode) { | 643 if (typeAssertionsEnabled) { |
| 672 Expect.throws(() { | 644 Expect.throws(() { |
| 673 x14 = (f14 as dynamic); | 645 x14 = (f14 as dynamic); |
| 674 }); | 646 }); |
| 675 Expect.throws(() { | 647 Expect.throws(() { |
| 676 x14 = confuse(f14); | 648 x14 = confuse(f14); |
| 677 }); | 649 }); |
| 678 List<T> Function(List<Function> x) Function() l14; | 650 List<T> Function(List<Function> x) Function() l14; |
| 679 Expect.throws(() { | 651 Expect.throws(() { |
| 680 l14 = (f14 as dynamic); | 652 l14 = (f14 as dynamic); |
| 681 }); | 653 }); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 713 x15 = confuse(m15); | 685 x15 = confuse(m15); |
| 714 l15 = confuse(m15); | 686 l15 = confuse(m15); |
| 715 if (!tIsBool) { | 687 if (!tIsBool) { |
| 716 Expect.isTrue(f15 is F15<int>); | 688 Expect.isTrue(f15 is F15<int>); |
| 717 Expect.isFalse(f15 is F15<bool>); | 689 Expect.isFalse(f15 is F15<bool>); |
| 718 Expect.isTrue(confuse(f15) is F15<int>); | 690 Expect.isTrue(confuse(f15) is F15<int>); |
| 719 Expect.isFalse(confuse(f15) is F15<bool>); | 691 Expect.isFalse(confuse(f15) is F15<bool>); |
| 720 Expect.equals(tIsDynamic, m15 is F15<bool>); | 692 Expect.equals(tIsDynamic, m15 is F15<bool>); |
| 721 Expect.equals(tIsDynamic, confuse(m15) is F15<bool>); | 693 Expect.equals(tIsDynamic, confuse(m15) is F15<bool>); |
| 722 } else { | 694 } else { |
| 723 if (inCheckedMode) { | 695 if (typeAssertionsEnabled) { |
| 724 Expect.throws(() { | 696 Expect.throws(() { |
| 725 x15 = (f15 as dynamic); | 697 x15 = (f15 as dynamic); |
| 726 }); | 698 }); |
| 727 Expect.throws(() { | 699 Expect.throws(() { |
| 728 x15 = confuse(f15); | 700 x15 = confuse(f15); |
| 729 }); | 701 }); |
| 730 List<T> Function(int y, [List<T> x]) Function() l15; | 702 List<T> Function(int y, [List<T> x]) Function() l15; |
| 731 Expect.throws(() { | 703 Expect.throws(() { |
| 732 l15 = (f15 as dynamic); | 704 l15 = (f15 as dynamic); |
| 733 }); | 705 }); |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 862 x20 = confuse(m20); | 834 x20 = confuse(m20); |
| 863 l20 = confuse(m20); | 835 l20 = confuse(m20); |
| 864 if (!tIsBool) { | 836 if (!tIsBool) { |
| 865 Expect.isTrue(f20 is F20<int>); | 837 Expect.isTrue(f20 is F20<int>); |
| 866 Expect.isFalse(f20 is F20<bool>); | 838 Expect.isFalse(f20 is F20<bool>); |
| 867 Expect.isTrue(confuse(f20) is F20<int>); | 839 Expect.isTrue(confuse(f20) is F20<int>); |
| 868 Expect.isFalse(confuse(f20) is F20<bool>); | 840 Expect.isFalse(confuse(f20) is F20<bool>); |
| 869 Expect.equals(tIsDynamic, m20 is F20<bool>); | 841 Expect.equals(tIsDynamic, m20 is F20<bool>); |
| 870 Expect.equals(tIsDynamic, confuse(m20) is F20<bool>); | 842 Expect.equals(tIsDynamic, confuse(m20) is F20<bool>); |
| 871 } else { | 843 } else { |
| 872 if (inCheckedMode) { | 844 if (typeAssertionsEnabled) { |
| 873 Expect.throws(() { | 845 Expect.throws(() { |
| 874 x20 = (f20 as dynamic); | 846 x20 = (f20 as dynamic); |
| 875 }); | 847 }); |
| 876 Expect.throws(() { | 848 Expect.throws(() { |
| 877 x20 = confuse(f20); | 849 x20 = confuse(f20); |
| 878 }); | 850 }); |
| 879 int Function<A>(List<T> x) Function() l20; | 851 int Function<A>(List<T> x) Function() l20; |
| 880 Expect.throws(() { | 852 Expect.throws(() { |
| 881 l20 = (f20 as dynamic); | 853 l20 = (f20 as dynamic); |
| 882 }); | 854 }); |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 962 x23 = confuse(m23); | 934 x23 = confuse(m23); |
| 963 l23 = confuse(m23); | 935 l23 = confuse(m23); |
| 964 } | 936 } |
| 965 } | 937 } |
| 966 | 938 |
| 967 void main() { | 939 void main() { |
| 968 new U48().runTests(); | 940 new U48().runTests(); |
| 969 new U48<int>(tIsInt: true).runTests(); | 941 new U48<int>(tIsInt: true).runTests(); |
| 970 new U48<bool>(tIsBool: true).runTests(); | 942 new U48<bool>(tIsBool: true).runTests(); |
| 971 } | 943 } |
| OLD | NEW |