1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "ClassDeclaration", 6 "definition": { 7 "id": { 8 "type": "Identifier", 9 "name": "Tup", 10 "decorators": [], 11 "loc": { 12 "start": { 13 "line": 18, 14 "column": 7 15 }, 16 "end": { 17 "line": 18, 18 "column": 10 19 } 20 } 21 }, 22 "typeParameters": { 23 "type": "TSTypeParameterDeclaration", 24 "params": [ 25 { 26 "type": "TSTypeParameter", 27 "name": { 28 "type": "Identifier", 29 "name": "A", 30 "decorators": [], 31 "loc": { 32 "start": { 33 "line": 18, 34 "column": 11 35 }, 36 "end": { 37 "line": 18, 38 "column": 12 39 } 40 } 41 }, 42 "loc": { 43 "start": { 44 "line": 18, 45 "column": 11 46 }, 47 "end": { 48 "line": 18, 49 "column": 13 50 } 51 } 52 }, 53 { 54 "type": "TSTypeParameter", 55 "name": { 56 "type": "Identifier", 57 "name": "B", 58 "decorators": [], 59 "loc": { 60 "start": { 61 "line": 18, 62 "column": 14 63 }, 64 "end": { 65 "line": 18, 66 "column": 15 67 } 68 } 69 }, 70 "loc": { 71 "start": { 72 "line": 18, 73 "column": 14 74 }, 75 "end": { 76 "line": 18, 77 "column": 16 78 } 79 } 80 } 81 ], 82 "loc": { 83 "start": { 84 "line": 18, 85 "column": 10 86 }, 87 "end": { 88 "line": 18, 89 "column": 16 90 } 91 } 92 }, 93 "superClass": null, 94 "implements": [], 95 "body": [ 96 { 97 "type": "MethodDefinition", 98 "key": { 99 "type": "Identifier", 100 "name": "constructor", 101 "decorators": [], 102 "loc": { 103 "start": { 104 "line": 1, 105 "column": 1 106 }, 107 "end": { 108 "line": 1, 109 "column": 1 110 } 111 } 112 }, 113 "kind": "constructor", 114 "static": false, 115 "optional": false, 116 "computed": false, 117 "value": { 118 "type": "FunctionExpression", 119 "function": { 120 "type": "ScriptFunction", 121 "id": { 122 "type": "Identifier", 123 "name": "constructor", 124 "decorators": [], 125 "loc": { 126 "start": { 127 "line": 1, 128 "column": 1 129 }, 130 "end": { 131 "line": 1, 132 "column": 1 133 } 134 } 135 }, 136 "generator": false, 137 "async": false, 138 "expression": false, 139 "params": [], 140 "body": { 141 "type": "BlockStatement", 142 "statements": [], 143 "loc": { 144 "start": { 145 "line": 1, 146 "column": 1 147 }, 148 "end": { 149 "line": 1, 150 "column": 1 151 } 152 } 153 }, 154 "loc": { 155 "start": { 156 "line": 1, 157 "column": 1 158 }, 159 "end": { 160 "line": 1, 161 "column": 1 162 } 163 } 164 }, 165 "loc": { 166 "start": { 167 "line": 1, 168 "column": 1 169 }, 170 "end": { 171 "line": 1, 172 "column": 1 173 } 174 } 175 }, 176 "overloads": [], 177 "decorators": [], 178 "loc": { 179 "start": { 180 "line": 18, 181 "column": 19 182 }, 183 "end": { 184 "line": 18, 185 "column": 19 186 } 187 } 188 } 189 ], 190 "loc": { 191 "start": { 192 "line": 18, 193 "column": 17 194 }, 195 "end": { 196 "line": 18, 197 "column": 19 198 } 199 } 200 }, 201 "loc": { 202 "start": { 203 "line": 18, 204 "column": 1 205 }, 206 "end": { 207 "line": 18, 208 "column": 19 209 } 210 } 211 }, 212 { 213 "type": "ClassDeclaration", 214 "definition": { 215 "id": { 216 "type": "Identifier", 217 "name": "Tup2", 218 "decorators": [], 219 "loc": { 220 "start": { 221 "line": 19, 222 "column": 7 223 }, 224 "end": { 225 "line": 19, 226 "column": 11 227 } 228 } 229 }, 230 "typeParameters": { 231 "type": "TSTypeParameterDeclaration", 232 "params": [ 233 { 234 "type": "TSTypeParameter", 235 "name": { 236 "type": "Identifier", 237 "name": "A", 238 "decorators": [], 239 "loc": { 240 "start": { 241 "line": 19, 242 "column": 12 243 }, 244 "end": { 245 "line": 19, 246 "column": 13 247 } 248 } 249 }, 250 "loc": { 251 "start": { 252 "line": 19, 253 "column": 12 254 }, 255 "end": { 256 "line": 19, 257 "column": 14 258 } 259 } 260 } 261 ], 262 "loc": { 263 "start": { 264 "line": 19, 265 "column": 11 266 }, 267 "end": { 268 "line": 19, 269 "column": 14 270 } 271 } 272 }, 273 "superClass": null, 274 "implements": [], 275 "body": [ 276 { 277 "type": "MethodDefinition", 278 "key": { 279 "type": "Identifier", 280 "name": "constructor", 281 "decorators": [], 282 "loc": { 283 "start": { 284 "line": 1, 285 "column": 1 286 }, 287 "end": { 288 "line": 1, 289 "column": 1 290 } 291 } 292 }, 293 "kind": "constructor", 294 "static": false, 295 "optional": false, 296 "computed": false, 297 "value": { 298 "type": "FunctionExpression", 299 "function": { 300 "type": "ScriptFunction", 301 "id": { 302 "type": "Identifier", 303 "name": "constructor", 304 "decorators": [], 305 "loc": { 306 "start": { 307 "line": 1, 308 "column": 1 309 }, 310 "end": { 311 "line": 1, 312 "column": 1 313 } 314 } 315 }, 316 "generator": false, 317 "async": false, 318 "expression": false, 319 "params": [], 320 "body": { 321 "type": "BlockStatement", 322 "statements": [], 323 "loc": { 324 "start": { 325 "line": 1, 326 "column": 1 327 }, 328 "end": { 329 "line": 1, 330 "column": 1 331 } 332 } 333 }, 334 "loc": { 335 "start": { 336 "line": 1, 337 "column": 1 338 }, 339 "end": { 340 "line": 1, 341 "column": 1 342 } 343 } 344 }, 345 "loc": { 346 "start": { 347 "line": 1, 348 "column": 1 349 }, 350 "end": { 351 "line": 1, 352 "column": 1 353 } 354 } 355 }, 356 "overloads": [], 357 "decorators": [], 358 "loc": { 359 "start": { 360 "line": 19, 361 "column": 17 362 }, 363 "end": { 364 "line": 19, 365 "column": 17 366 } 367 } 368 } 369 ], 370 "loc": { 371 "start": { 372 "line": 19, 373 "column": 15 374 }, 375 "end": { 376 "line": 19, 377 "column": 17 378 } 379 } 380 }, 381 "loc": { 382 "start": { 383 "line": 19, 384 "column": 1 385 }, 386 "end": { 387 "line": 19, 388 "column": 17 389 } 390 } 391 }, 392 { 393 "type": "ClassDeclaration", 394 "definition": { 395 "id": { 396 "type": "Identifier", 397 "name": "ETSGLOBAL", 398 "decorators": [], 399 "loc": { 400 "start": { 401 "line": 1, 402 "column": 1 403 }, 404 "end": { 405 "line": 1, 406 "column": 1 407 } 408 } 409 }, 410 "superClass": null, 411 "implements": [], 412 "body": [ 413 { 414 "type": "MethodDefinition", 415 "key": { 416 "type": "Identifier", 417 "name": "_$init$_", 418 "decorators": [], 419 "loc": { 420 "start": { 421 "line": 1, 422 "column": 1 423 }, 424 "end": { 425 "line": 1, 426 "column": 1 427 } 428 } 429 }, 430 "kind": "method", 431 "accessibility": "public", 432 "static": true, 433 "optional": false, 434 "computed": false, 435 "value": { 436 "type": "FunctionExpression", 437 "function": { 438 "type": "ScriptFunction", 439 "id": { 440 "type": "Identifier", 441 "name": "_$init$_", 442 "decorators": [], 443 "loc": { 444 "start": { 445 "line": 1, 446 "column": 1 447 }, 448 "end": { 449 "line": 1, 450 "column": 1 451 } 452 } 453 }, 454 "generator": false, 455 "async": false, 456 "expression": false, 457 "params": [], 458 "body": { 459 "type": "BlockStatement", 460 "statements": [], 461 "loc": { 462 "start": { 463 "line": 1, 464 "column": 1 465 }, 466 "end": { 467 "line": 1, 468 "column": 1 469 } 470 } 471 }, 472 "loc": { 473 "start": { 474 "line": 1, 475 "column": 1 476 }, 477 "end": { 478 "line": 1, 479 "column": 1 480 } 481 } 482 }, 483 "loc": { 484 "start": { 485 "line": 1, 486 "column": 1 487 }, 488 "end": { 489 "line": 1, 490 "column": 1 491 } 492 } 493 }, 494 "overloads": [], 495 "decorators": [], 496 "loc": { 497 "start": { 498 "line": 1, 499 "column": 1 500 }, 501 "end": { 502 "line": 1, 503 "column": 1 504 } 505 } 506 }, 507 { 508 "type": "MethodDefinition", 509 "key": { 510 "type": "Identifier", 511 "name": "foo", 512 "decorators": [], 513 "loc": { 514 "start": { 515 "line": 16, 516 "column": 10 517 }, 518 "end": { 519 "line": 16, 520 "column": 13 521 } 522 } 523 }, 524 "kind": "method", 525 "accessibility": "public", 526 "static": true, 527 "optional": false, 528 "computed": false, 529 "value": { 530 "type": "FunctionExpression", 531 "function": { 532 "type": "ScriptFunction", 533 "id": { 534 "type": "Identifier", 535 "name": "foo", 536 "decorators": [], 537 "loc": { 538 "start": { 539 "line": 16, 540 "column": 10 541 }, 542 "end": { 543 "line": 16, 544 "column": 13 545 } 546 } 547 }, 548 "generator": false, 549 "async": false, 550 "expression": false, 551 "params": [ 552 { 553 "type": "ETSParameterExpression", 554 "name": { 555 "type": "Identifier", 556 "name": "x", 557 "typeAnnotation": { 558 "type": "ETSFunctionType", 559 "params": [], 560 "returnType": { 561 "type": "ETSTypeReference", 562 "part": { 563 "type": "ETSTypeReferencePart", 564 "name": { 565 "type": "Identifier", 566 "name": "T", 567 "decorators": [], 568 "loc": { 569 "start": { 570 "line": 16, 571 "column": 26 572 }, 573 "end": { 574 "line": 16, 575 "column": 27 576 } 577 } 578 }, 579 "loc": { 580 "start": { 581 "line": 16, 582 "column": 26 583 }, 584 "end": { 585 "line": 16, 586 "column": 28 587 } 588 } 589 }, 590 "loc": { 591 "start": { 592 "line": 16, 593 "column": 26 594 }, 595 "end": { 596 "line": 16, 597 "column": 28 598 } 599 } 600 }, 601 "loc": { 602 "start": { 603 "line": 16, 604 "column": 20 605 }, 606 "end": { 607 "line": 16, 608 "column": 28 609 } 610 } 611 }, 612 "decorators": [], 613 "loc": { 614 "start": { 615 "line": 16, 616 "column": 17 617 }, 618 "end": { 619 "line": 16, 620 "column": 28 621 } 622 } 623 }, 624 "loc": { 625 "start": { 626 "line": 16, 627 "column": 17 628 }, 629 "end": { 630 "line": 16, 631 "column": 28 632 } 633 } 634 } 635 ], 636 "returnType": { 637 "type": "ETSPrimitiveType", 638 "loc": { 639 "start": { 640 "line": 16, 641 "column": 30 642 }, 643 "end": { 644 "line": 16, 645 "column": 34 646 } 647 } 648 }, 649 "typeParameters": { 650 "type": "TSTypeParameterDeclaration", 651 "params": [ 652 { 653 "type": "TSTypeParameter", 654 "name": { 655 "type": "Identifier", 656 "name": "T", 657 "decorators": [], 658 "loc": { 659 "start": { 660 "line": 16, 661 "column": 14 662 }, 663 "end": { 664 "line": 16, 665 "column": 15 666 } 667 } 668 }, 669 "loc": { 670 "start": { 671 "line": 16, 672 "column": 14 673 }, 674 "end": { 675 "line": 16, 676 "column": 16 677 } 678 } 679 } 680 ], 681 "loc": { 682 "start": { 683 "line": 16, 684 "column": 13 685 }, 686 "end": { 687 "line": 16, 688 "column": 16 689 } 690 } 691 }, 692 "body": { 693 "type": "BlockStatement", 694 "statements": [], 695 "loc": { 696 "start": { 697 "line": 16, 698 "column": 35 699 }, 700 "end": { 701 "line": 16, 702 "column": 37 703 } 704 } 705 }, 706 "loc": { 707 "start": { 708 "line": 16, 709 "column": 13 710 }, 711 "end": { 712 "line": 16, 713 "column": 37 714 } 715 } 716 }, 717 "loc": { 718 "start": { 719 "line": 16, 720 "column": 13 721 }, 722 "end": { 723 "line": 16, 724 "column": 37 725 } 726 } 727 }, 728 "overloads": [], 729 "decorators": [], 730 "loc": { 731 "start": { 732 "line": 16, 733 "column": 1 734 }, 735 "end": { 736 "line": 16, 737 "column": 37 738 } 739 } 740 }, 741 { 742 "type": "MethodDefinition", 743 "key": { 744 "type": "Identifier", 745 "name": "main", 746 "decorators": [], 747 "loc": { 748 "start": { 749 "line": 21, 750 "column": 10 751 }, 752 "end": { 753 "line": 21, 754 "column": 14 755 } 756 } 757 }, 758 "kind": "method", 759 "accessibility": "public", 760 "static": true, 761 "optional": false, 762 "computed": false, 763 "value": { 764 "type": "FunctionExpression", 765 "function": { 766 "type": "ScriptFunction", 767 "id": { 768 "type": "Identifier", 769 "name": "main", 770 "decorators": [], 771 "loc": { 772 "start": { 773 "line": 21, 774 "column": 10 775 }, 776 "end": { 777 "line": 21, 778 "column": 14 779 } 780 } 781 }, 782 "generator": false, 783 "async": false, 784 "expression": false, 785 "params": [], 786 "returnType": { 787 "type": "ETSPrimitiveType", 788 "loc": { 789 "start": { 790 "line": 21, 791 "column": 18 792 }, 793 "end": { 794 "line": 21, 795 "column": 22 796 } 797 } 798 }, 799 "body": { 800 "type": "BlockStatement", 801 "statements": [ 802 { 803 "type": "ExpressionStatement", 804 "expression": { 805 "type": "CallExpression", 806 "callee": { 807 "type": "Identifier", 808 "name": "foo", 809 "decorators": [], 810 "loc": { 811 "start": { 812 "line": 22, 813 "column": 3 814 }, 815 "end": { 816 "line": 22, 817 "column": 6 818 } 819 } 820 }, 821 "arguments": [ 822 { 823 "type": "ArrowFunctionExpression", 824 "function": { 825 "type": "ScriptFunction", 826 "id": null, 827 "generator": false, 828 "async": false, 829 "expression": false, 830 "params": [], 831 "returnType": { 832 "type": "ETSTypeReference", 833 "part": { 834 "type": "ETSTypeReferencePart", 835 "name": { 836 "type": "Identifier", 837 "name": "Tup", 838 "decorators": [], 839 "loc": { 840 "start": { 841 "line": 22, 842 "column": 64 843 }, 844 "end": { 845 "line": 22, 846 "column": 67 847 } 848 } 849 }, 850 "typeParams": { 851 "type": "TSTypeParameterInstantiation", 852 "params": [ 853 { 854 "type": "ETSTypeReference", 855 "part": { 856 "type": "ETSTypeReferencePart", 857 "name": { 858 "type": "Identifier", 859 "name": "number", 860 "decorators": [], 861 "loc": { 862 "start": { 863 "line": 22, 864 "column": 68 865 }, 866 "end": { 867 "line": 22, 868 "column": 74 869 } 870 } 871 }, 872 "loc": { 873 "start": { 874 "line": 22, 875 "column": 68 876 }, 877 "end": { 878 "line": 22, 879 "column": 75 880 } 881 } 882 }, 883 "loc": { 884 "start": { 885 "line": 22, 886 "column": 68 887 }, 888 "end": { 889 "line": 22, 890 "column": 75 891 } 892 } 893 }, 894 { 895 "type": "ETSTypeReference", 896 "part": { 897 "type": "ETSTypeReferencePart", 898 "name": { 899 "type": "Identifier", 900 "name": "Tup", 901 "decorators": [], 902 "loc": { 903 "start": { 904 "line": 22, 905 "column": 76 906 }, 907 "end": { 908 "line": 22, 909 "column": 79 910 } 911 } 912 }, 913 "typeParams": { 914 "type": "TSTypeParameterInstantiation", 915 "params": [ 916 { 917 "type": "ETSTypeReference", 918 "part": { 919 "type": "ETSTypeReferencePart", 920 "name": { 921 "type": "Identifier", 922 "name": "number", 923 "decorators": [], 924 "loc": { 925 "start": { 926 "line": 22, 927 "column": 80 928 }, 929 "end": { 930 "line": 22, 931 "column": 86 932 } 933 } 934 }, 935 "loc": { 936 "start": { 937 "line": 22, 938 "column": 80 939 }, 940 "end": { 941 "line": 22, 942 "column": 87 943 } 944 } 945 }, 946 "loc": { 947 "start": { 948 "line": 22, 949 "column": 80 950 }, 951 "end": { 952 "line": 22, 953 "column": 87 954 } 955 } 956 }, 957 { 958 "type": "ETSTypeReference", 959 "part": { 960 "type": "ETSTypeReferencePart", 961 "name": { 962 "type": "Identifier", 963 "name": "Tup", 964 "decorators": [], 965 "loc": { 966 "start": { 967 "line": 22, 968 "column": 88 969 }, 970 "end": { 971 "line": 22, 972 "column": 91 973 } 974 } 975 }, 976 "typeParams": { 977 "type": "TSTypeParameterInstantiation", 978 "params": [ 979 { 980 "type": "ETSTypeReference", 981 "part": { 982 "type": "ETSTypeReferencePart", 983 "name": { 984 "type": "Identifier", 985 "name": "number", 986 "decorators": [], 987 "loc": { 988 "start": { 989 "line": 22, 990 "column": 92 991 }, 992 "end": { 993 "line": 22, 994 "column": 98 995 } 996 } 997 }, 998 "loc": { 999 "start": { 1000 "line": 22, 1001 "column": 92 1002 }, 1003 "end": { 1004 "line": 22, 1005 "column": 99 1006 } 1007 } 1008 }, 1009 "loc": { 1010 "start": { 1011 "line": 22, 1012 "column": 92 1013 }, 1014 "end": { 1015 "line": 22, 1016 "column": 99 1017 } 1018 } 1019 }, 1020 { 1021 "type": "ETSTypeReference", 1022 "part": { 1023 "type": "ETSTypeReferencePart", 1024 "name": { 1025 "type": "Identifier", 1026 "name": "Tup2", 1027 "decorators": [], 1028 "loc": { 1029 "start": { 1030 "line": 22, 1031 "column": 100 1032 }, 1033 "end": { 1034 "line": 22, 1035 "column": 104 1036 } 1037 } 1038 }, 1039 "typeParams": { 1040 "type": "TSTypeParameterInstantiation", 1041 "params": [ 1042 { 1043 "type": "ETSTypeReference", 1044 "part": { 1045 "type": "ETSTypeReferencePart", 1046 "name": { 1047 "type": "Identifier", 1048 "name": "String", 1049 "decorators": [], 1050 "loc": { 1051 "start": { 1052 "line": 22, 1053 "column": 105 1054 }, 1055 "end": { 1056 "line": 22, 1057 "column": 111 1058 } 1059 } 1060 }, 1061 "loc": { 1062 "start": { 1063 "line": 22, 1064 "column": 105 1065 }, 1066 "end": { 1067 "line": 22, 1068 "column": 114 1069 } 1070 } 1071 }, 1072 "loc": { 1073 "start": { 1074 "line": 22, 1075 "column": 105 1076 }, 1077 "end": { 1078 "line": 22, 1079 "column": 114 1080 } 1081 } 1082 } 1083 ], 1084 "loc": { 1085 "start": { 1086 "line": 22, 1087 "column": 104 1088 }, 1089 "end": { 1090 "line": 22, 1091 "column": 114 1092 } 1093 } 1094 }, 1095 "loc": { 1096 "start": { 1097 "line": 22, 1098 "column": 100 1099 }, 1100 "end": { 1101 "line": 22, 1102 "column": 115 1103 } 1104 } 1105 }, 1106 "loc": { 1107 "start": { 1108 "line": 22, 1109 "column": 100 1110 }, 1111 "end": { 1112 "line": 22, 1113 "column": 115 1114 } 1115 } 1116 } 1117 ], 1118 "loc": { 1119 "start": { 1120 "line": 22, 1121 "column": 91 1122 }, 1123 "end": { 1124 "line": 22, 1125 "column": 115 1126 } 1127 } 1128 }, 1129 "loc": { 1130 "start": { 1131 "line": 22, 1132 "column": 88 1133 }, 1134 "end": { 1135 "line": 22, 1136 "column": 115 1137 } 1138 } 1139 }, 1140 "loc": { 1141 "start": { 1142 "line": 22, 1143 "column": 88 1144 }, 1145 "end": { 1146 "line": 22, 1147 "column": 115 1148 } 1149 } 1150 } 1151 ], 1152 "loc": { 1153 "start": { 1154 "line": 22, 1155 "column": 79 1156 }, 1157 "end": { 1158 "line": 22, 1159 "column": 115 1160 } 1161 } 1162 }, 1163 "loc": { 1164 "start": { 1165 "line": 22, 1166 "column": 76 1167 }, 1168 "end": { 1169 "line": 22, 1170 "column": 115 1171 } 1172 } 1173 }, 1174 "loc": { 1175 "start": { 1176 "line": 22, 1177 "column": 76 1178 }, 1179 "end": { 1180 "line": 22, 1181 "column": 115 1182 } 1183 } 1184 } 1185 ], 1186 "loc": { 1187 "start": { 1188 "line": 22, 1189 "column": 67 1190 }, 1191 "end": { 1192 "line": 22, 1193 "column": 115 1194 } 1195 } 1196 }, 1197 "loc": { 1198 "start": { 1199 "line": 22, 1200 "column": 64 1201 }, 1202 "end": { 1203 "line": 22, 1204 "column": 118 1205 } 1206 } 1207 }, 1208 "loc": { 1209 "start": { 1210 "line": 22, 1211 "column": 64 1212 }, 1213 "end": { 1214 "line": 22, 1215 "column": 118 1216 } 1217 } 1218 }, 1219 "body": { 1220 "type": "BlockStatement", 1221 "statements": [ 1222 { 1223 "type": "ThrowStatement", 1224 "argument": { 1225 "type": "ETSNewClassInstanceExpression", 1226 "typeReference": { 1227 "type": "ETSTypeReference", 1228 "part": { 1229 "type": "ETSTypeReferencePart", 1230 "name": { 1231 "type": "Identifier", 1232 "name": "Error", 1233 "decorators": [], 1234 "loc": { 1235 "start": { 1236 "line": 22, 1237 "column": 131 1238 }, 1239 "end": { 1240 "line": 22, 1241 "column": 136 1242 } 1243 } 1244 }, 1245 "loc": { 1246 "start": { 1247 "line": 22, 1248 "column": 131 1249 }, 1250 "end": { 1251 "line": 22, 1252 "column": 137 1253 } 1254 } 1255 }, 1256 "loc": { 1257 "start": { 1258 "line": 22, 1259 "column": 131 1260 }, 1261 "end": { 1262 "line": 22, 1263 "column": 137 1264 } 1265 } 1266 }, 1267 "arguments": [], 1268 "loc": { 1269 "start": { 1270 "line": 22, 1271 "column": 127 1272 }, 1273 "end": { 1274 "line": 22, 1275 "column": 140 1276 } 1277 } 1278 }, 1279 "loc": { 1280 "start": { 1281 "line": 22, 1282 "column": 121 1283 }, 1284 "end": { 1285 "line": 22, 1286 "column": 140 1287 } 1288 } 1289 } 1290 ], 1291 "loc": { 1292 "start": { 1293 "line": 22, 1294 "column": 119 1295 }, 1296 "end": { 1297 "line": 22, 1298 "column": 140 1299 } 1300 } 1301 }, 1302 "loc": { 1303 "start": { 1304 "line": 22, 1305 "column": 60 1306 }, 1307 "end": { 1308 "line": 22, 1309 "column": 140 1310 } 1311 } 1312 }, 1313 "loc": { 1314 "start": { 1315 "line": 22, 1316 "column": 60 1317 }, 1318 "end": { 1319 "line": 22, 1320 "column": 140 1321 } 1322 } 1323 } 1324 ], 1325 "optional": false, 1326 "typeParameters": { 1327 "type": "TSTypeParameterInstantiation", 1328 "params": [ 1329 { 1330 "type": "ETSTypeReference", 1331 "part": { 1332 "type": "ETSTypeReferencePart", 1333 "name": { 1334 "type": "Identifier", 1335 "name": "Tup", 1336 "decorators": [], 1337 "loc": { 1338 "start": { 1339 "line": 22, 1340 "column": 7 1341 }, 1342 "end": { 1343 "line": 22, 1344 "column": 10 1345 } 1346 } 1347 }, 1348 "typeParams": { 1349 "type": "TSTypeParameterInstantiation", 1350 "params": [ 1351 { 1352 "type": "ETSTypeReference", 1353 "part": { 1354 "type": "ETSTypeReferencePart", 1355 "name": { 1356 "type": "Identifier", 1357 "name": "number", 1358 "decorators": [], 1359 "loc": { 1360 "start": { 1361 "line": 22, 1362 "column": 11 1363 }, 1364 "end": { 1365 "line": 22, 1366 "column": 17 1367 } 1368 } 1369 }, 1370 "loc": { 1371 "start": { 1372 "line": 22, 1373 "column": 11 1374 }, 1375 "end": { 1376 "line": 22, 1377 "column": 18 1378 } 1379 } 1380 }, 1381 "loc": { 1382 "start": { 1383 "line": 22, 1384 "column": 11 1385 }, 1386 "end": { 1387 "line": 22, 1388 "column": 18 1389 } 1390 } 1391 }, 1392 { 1393 "type": "ETSTypeReference", 1394 "part": { 1395 "type": "ETSTypeReferencePart", 1396 "name": { 1397 "type": "Identifier", 1398 "name": "Tup", 1399 "decorators": [], 1400 "loc": { 1401 "start": { 1402 "line": 22, 1403 "column": 19 1404 }, 1405 "end": { 1406 "line": 22, 1407 "column": 22 1408 } 1409 } 1410 }, 1411 "typeParams": { 1412 "type": "TSTypeParameterInstantiation", 1413 "params": [ 1414 { 1415 "type": "ETSTypeReference", 1416 "part": { 1417 "type": "ETSTypeReferencePart", 1418 "name": { 1419 "type": "Identifier", 1420 "name": "number", 1421 "decorators": [], 1422 "loc": { 1423 "start": { 1424 "line": 22, 1425 "column": 23 1426 }, 1427 "end": { 1428 "line": 22, 1429 "column": 29 1430 } 1431 } 1432 }, 1433 "loc": { 1434 "start": { 1435 "line": 22, 1436 "column": 23 1437 }, 1438 "end": { 1439 "line": 22, 1440 "column": 30 1441 } 1442 } 1443 }, 1444 "loc": { 1445 "start": { 1446 "line": 22, 1447 "column": 23 1448 }, 1449 "end": { 1450 "line": 22, 1451 "column": 30 1452 } 1453 } 1454 }, 1455 { 1456 "type": "ETSTypeReference", 1457 "part": { 1458 "type": "ETSTypeReferencePart", 1459 "name": { 1460 "type": "Identifier", 1461 "name": "Tup", 1462 "decorators": [], 1463 "loc": { 1464 "start": { 1465 "line": 22, 1466 "column": 31 1467 }, 1468 "end": { 1469 "line": 22, 1470 "column": 34 1471 } 1472 } 1473 }, 1474 "typeParams": { 1475 "type": "TSTypeParameterInstantiation", 1476 "params": [ 1477 { 1478 "type": "ETSTypeReference", 1479 "part": { 1480 "type": "ETSTypeReferencePart", 1481 "name": { 1482 "type": "Identifier", 1483 "name": "number", 1484 "decorators": [], 1485 "loc": { 1486 "start": { 1487 "line": 22, 1488 "column": 35 1489 }, 1490 "end": { 1491 "line": 22, 1492 "column": 41 1493 } 1494 } 1495 }, 1496 "loc": { 1497 "start": { 1498 "line": 22, 1499 "column": 35 1500 }, 1501 "end": { 1502 "line": 22, 1503 "column": 42 1504 } 1505 } 1506 }, 1507 "loc": { 1508 "start": { 1509 "line": 22, 1510 "column": 35 1511 }, 1512 "end": { 1513 "line": 22, 1514 "column": 42 1515 } 1516 } 1517 }, 1518 { 1519 "type": "ETSTypeReference", 1520 "part": { 1521 "type": "ETSTypeReferencePart", 1522 "name": { 1523 "type": "Identifier", 1524 "name": "Tup2", 1525 "decorators": [], 1526 "loc": { 1527 "start": { 1528 "line": 22, 1529 "column": 43 1530 }, 1531 "end": { 1532 "line": 22, 1533 "column": 47 1534 } 1535 } 1536 }, 1537 "typeParams": { 1538 "type": "TSTypeParameterInstantiation", 1539 "params": [ 1540 { 1541 "type": "ETSTypeReference", 1542 "part": { 1543 "type": "ETSTypeReferencePart", 1544 "name": { 1545 "type": "Identifier", 1546 "name": "String", 1547 "decorators": [], 1548 "loc": { 1549 "start": { 1550 "line": 22, 1551 "column": 48 1552 }, 1553 "end": { 1554 "line": 22, 1555 "column": 54 1556 } 1557 } 1558 }, 1559 "loc": { 1560 "start": { 1561 "line": 22, 1562 "column": 48 1563 }, 1564 "end": { 1565 "line": 22, 1566 "column": 57 1567 } 1568 } 1569 }, 1570 "loc": { 1571 "start": { 1572 "line": 22, 1573 "column": 48 1574 }, 1575 "end": { 1576 "line": 22, 1577 "column": 57 1578 } 1579 } 1580 } 1581 ], 1582 "loc": { 1583 "start": { 1584 "line": 22, 1585 "column": 47 1586 }, 1587 "end": { 1588 "line": 22, 1589 "column": 57 1590 } 1591 } 1592 }, 1593 "loc": { 1594 "start": { 1595 "line": 22, 1596 "column": 43 1597 }, 1598 "end": { 1599 "line": 22, 1600 "column": 58 1601 } 1602 } 1603 }, 1604 "loc": { 1605 "start": { 1606 "line": 22, 1607 "column": 43 1608 }, 1609 "end": { 1610 "line": 22, 1611 "column": 58 1612 } 1613 } 1614 } 1615 ], 1616 "loc": { 1617 "start": { 1618 "line": 22, 1619 "column": 34 1620 }, 1621 "end": { 1622 "line": 22, 1623 "column": 58 1624 } 1625 } 1626 }, 1627 "loc": { 1628 "start": { 1629 "line": 22, 1630 "column": 31 1631 }, 1632 "end": { 1633 "line": 22, 1634 "column": 59 1635 } 1636 } 1637 }, 1638 "loc": { 1639 "start": { 1640 "line": 22, 1641 "column": 31 1642 }, 1643 "end": { 1644 "line": 22, 1645 "column": 59 1646 } 1647 } 1648 } 1649 ], 1650 "loc": { 1651 "start": { 1652 "line": 22, 1653 "column": 22 1654 }, 1655 "end": { 1656 "line": 22, 1657 "column": 59 1658 } 1659 } 1660 }, 1661 "loc": { 1662 "start": { 1663 "line": 22, 1664 "column": 19 1665 }, 1666 "end": { 1667 "line": 22, 1668 "column": 59 1669 } 1670 } 1671 }, 1672 "loc": { 1673 "start": { 1674 "line": 22, 1675 "column": 19 1676 }, 1677 "end": { 1678 "line": 22, 1679 "column": 59 1680 } 1681 } 1682 } 1683 ], 1684 "loc": { 1685 "start": { 1686 "line": 22, 1687 "column": 10 1688 }, 1689 "end": { 1690 "line": 22, 1691 "column": 59 1692 } 1693 } 1694 }, 1695 "loc": { 1696 "start": { 1697 "line": 22, 1698 "column": 7 1699 }, 1700 "end": { 1701 "line": 22, 1702 "column": 59 1703 } 1704 } 1705 }, 1706 "loc": { 1707 "start": { 1708 "line": 22, 1709 "column": 7 1710 }, 1711 "end": { 1712 "line": 22, 1713 "column": 59 1714 } 1715 } 1716 } 1717 ], 1718 "loc": { 1719 "start": { 1720 "line": 22, 1721 "column": 6 1722 }, 1723 "end": { 1724 "line": 22, 1725 "column": 59 1726 } 1727 } 1728 }, 1729 "loc": { 1730 "start": { 1731 "line": 22, 1732 "column": 3 1733 }, 1734 "end": { 1735 "line": 22, 1736 "column": 141 1737 } 1738 } 1739 }, 1740 "loc": { 1741 "start": { 1742 "line": 22, 1743 "column": 3 1744 }, 1745 "end": { 1746 "line": 22, 1747 "column": 142 1748 } 1749 } 1750 } 1751 ], 1752 "loc": { 1753 "start": { 1754 "line": 21, 1755 "column": 23 1756 }, 1757 "end": { 1758 "line": 23, 1759 "column": 2 1760 } 1761 } 1762 }, 1763 "loc": { 1764 "start": { 1765 "line": 21, 1766 "column": 14 1767 }, 1768 "end": { 1769 "line": 23, 1770 "column": 2 1771 } 1772 } 1773 }, 1774 "loc": { 1775 "start": { 1776 "line": 21, 1777 "column": 14 1778 }, 1779 "end": { 1780 "line": 23, 1781 "column": 2 1782 } 1783 } 1784 }, 1785 "overloads": [], 1786 "decorators": [], 1787 "loc": { 1788 "start": { 1789 "line": 21, 1790 "column": 1 1791 }, 1792 "end": { 1793 "line": 23, 1794 "column": 2 1795 } 1796 } 1797 } 1798 ], 1799 "loc": { 1800 "start": { 1801 "line": 1, 1802 "column": 1 1803 }, 1804 "end": { 1805 "line": 1, 1806 "column": 1 1807 } 1808 } 1809 }, 1810 "loc": { 1811 "start": { 1812 "line": 1, 1813 "column": 1 1814 }, 1815 "end": { 1816 "line": 1, 1817 "column": 1 1818 } 1819 } 1820 } 1821 ], 1822 "loc": { 1823 "start": { 1824 "line": 1, 1825 "column": 1 1826 }, 1827 "end": { 1828 "line": 25, 1829 "column": 1 1830 } 1831 } 1832} 1833