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": 17, 14 "column": 7 15 }, 16 "end": { 17 "line": 17, 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": 17, 34 "column": 11 35 }, 36 "end": { 37 "line": 17, 38 "column": 12 39 } 40 } 41 }, 42 "loc": { 43 "start": { 44 "line": 17, 45 "column": 11 46 }, 47 "end": { 48 "line": 17, 49 "column": 13 50 } 51 } 52 } 53 ], 54 "loc": { 55 "start": { 56 "line": 17, 57 "column": 10 58 }, 59 "end": { 60 "line": 17, 61 "column": 13 62 } 63 } 64 }, 65 "superClass": null, 66 "implements": [], 67 "body": [ 68 { 69 "type": "MethodDefinition", 70 "key": { 71 "type": "Identifier", 72 "name": "constructor", 73 "decorators": [], 74 "loc": { 75 "start": { 76 "line": 1, 77 "column": 1 78 }, 79 "end": { 80 "line": 1, 81 "column": 1 82 } 83 } 84 }, 85 "kind": "constructor", 86 "static": false, 87 "optional": false, 88 "computed": false, 89 "value": { 90 "type": "FunctionExpression", 91 "function": { 92 "type": "ScriptFunction", 93 "id": { 94 "type": "Identifier", 95 "name": "constructor", 96 "decorators": [], 97 "loc": { 98 "start": { 99 "line": 1, 100 "column": 1 101 }, 102 "end": { 103 "line": 1, 104 "column": 1 105 } 106 } 107 }, 108 "generator": false, 109 "async": false, 110 "expression": false, 111 "params": [], 112 "body": { 113 "type": "BlockStatement", 114 "statements": [], 115 "loc": { 116 "start": { 117 "line": 1, 118 "column": 1 119 }, 120 "end": { 121 "line": 1, 122 "column": 1 123 } 124 } 125 }, 126 "loc": { 127 "start": { 128 "line": 1, 129 "column": 1 130 }, 131 "end": { 132 "line": 1, 133 "column": 1 134 } 135 } 136 }, 137 "loc": { 138 "start": { 139 "line": 1, 140 "column": 1 141 }, 142 "end": { 143 "line": 1, 144 "column": 1 145 } 146 } 147 }, 148 "overloads": [], 149 "decorators": [], 150 "loc": { 151 "start": { 152 "line": 17, 153 "column": 16 154 }, 155 "end": { 156 "line": 17, 157 "column": 16 158 } 159 } 160 } 161 ], 162 "loc": { 163 "start": { 164 "line": 17, 165 "column": 14 166 }, 167 "end": { 168 "line": 17, 169 "column": 16 170 } 171 } 172 }, 173 "loc": { 174 "start": { 175 "line": 17, 176 "column": 1 177 }, 178 "end": { 179 "line": 17, 180 "column": 16 181 } 182 } 183 }, 184 { 185 "type": "ClassDeclaration", 186 "definition": { 187 "id": { 188 "type": "Identifier", 189 "name": "ETSGLOBAL", 190 "decorators": [], 191 "loc": { 192 "start": { 193 "line": 1, 194 "column": 1 195 }, 196 "end": { 197 "line": 1, 198 "column": 1 199 } 200 } 201 }, 202 "superClass": null, 203 "implements": [], 204 "body": [ 205 { 206 "type": "MethodDefinition", 207 "key": { 208 "type": "Identifier", 209 "name": "_$init$_", 210 "decorators": [], 211 "loc": { 212 "start": { 213 "line": 1, 214 "column": 1 215 }, 216 "end": { 217 "line": 1, 218 "column": 1 219 } 220 } 221 }, 222 "kind": "method", 223 "accessibility": "public", 224 "static": true, 225 "optional": false, 226 "computed": false, 227 "value": { 228 "type": "FunctionExpression", 229 "function": { 230 "type": "ScriptFunction", 231 "id": { 232 "type": "Identifier", 233 "name": "_$init$_", 234 "decorators": [], 235 "loc": { 236 "start": { 237 "line": 1, 238 "column": 1 239 }, 240 "end": { 241 "line": 1, 242 "column": 1 243 } 244 } 245 }, 246 "generator": false, 247 "async": false, 248 "expression": false, 249 "params": [], 250 "body": { 251 "type": "BlockStatement", 252 "statements": [], 253 "loc": { 254 "start": { 255 "line": 1, 256 "column": 1 257 }, 258 "end": { 259 "line": 1, 260 "column": 1 261 } 262 } 263 }, 264 "loc": { 265 "start": { 266 "line": 1, 267 "column": 1 268 }, 269 "end": { 270 "line": 1, 271 "column": 1 272 } 273 } 274 }, 275 "loc": { 276 "start": { 277 "line": 1, 278 "column": 1 279 }, 280 "end": { 281 "line": 1, 282 "column": 1 283 } 284 } 285 }, 286 "overloads": [], 287 "decorators": [], 288 "loc": { 289 "start": { 290 "line": 1, 291 "column": 1 292 }, 293 "end": { 294 "line": 1, 295 "column": 1 296 } 297 } 298 }, 299 { 300 "type": "MethodDefinition", 301 "key": { 302 "type": "Identifier", 303 "name": "foo", 304 "decorators": [], 305 "loc": { 306 "start": { 307 "line": 16, 308 "column": 10 309 }, 310 "end": { 311 "line": 16, 312 "column": 13 313 } 314 } 315 }, 316 "kind": "method", 317 "accessibility": "public", 318 "static": true, 319 "optional": false, 320 "computed": false, 321 "value": { 322 "type": "FunctionExpression", 323 "function": { 324 "type": "ScriptFunction", 325 "id": { 326 "type": "Identifier", 327 "name": "foo", 328 "decorators": [], 329 "loc": { 330 "start": { 331 "line": 16, 332 "column": 10 333 }, 334 "end": { 335 "line": 16, 336 "column": 13 337 } 338 } 339 }, 340 "generator": false, 341 "async": false, 342 "expression": false, 343 "params": [ 344 { 345 "type": "ETSParameterExpression", 346 "name": { 347 "type": "Identifier", 348 "name": "x", 349 "typeAnnotation": { 350 "type": "ETSFunctionType", 351 "params": [], 352 "returnType": { 353 "type": "ETSTypeReference", 354 "part": { 355 "type": "ETSTypeReferencePart", 356 "name": { 357 "type": "Identifier", 358 "name": "T", 359 "decorators": [], 360 "loc": { 361 "start": { 362 "line": 16, 363 "column": 26 364 }, 365 "end": { 366 "line": 16, 367 "column": 27 368 } 369 } 370 }, 371 "loc": { 372 "start": { 373 "line": 16, 374 "column": 26 375 }, 376 "end": { 377 "line": 16, 378 "column": 28 379 } 380 } 381 }, 382 "loc": { 383 "start": { 384 "line": 16, 385 "column": 26 386 }, 387 "end": { 388 "line": 16, 389 "column": 28 390 } 391 } 392 }, 393 "loc": { 394 "start": { 395 "line": 16, 396 "column": 20 397 }, 398 "end": { 399 "line": 16, 400 "column": 28 401 } 402 } 403 }, 404 "decorators": [], 405 "loc": { 406 "start": { 407 "line": 16, 408 "column": 17 409 }, 410 "end": { 411 "line": 16, 412 "column": 28 413 } 414 } 415 }, 416 "loc": { 417 "start": { 418 "line": 16, 419 "column": 17 420 }, 421 "end": { 422 "line": 16, 423 "column": 28 424 } 425 } 426 } 427 ], 428 "returnType": { 429 "type": "ETSPrimitiveType", 430 "loc": { 431 "start": { 432 "line": 16, 433 "column": 30 434 }, 435 "end": { 436 "line": 16, 437 "column": 34 438 } 439 } 440 }, 441 "typeParameters": { 442 "type": "TSTypeParameterDeclaration", 443 "params": [ 444 { 445 "type": "TSTypeParameter", 446 "name": { 447 "type": "Identifier", 448 "name": "T", 449 "decorators": [], 450 "loc": { 451 "start": { 452 "line": 16, 453 "column": 14 454 }, 455 "end": { 456 "line": 16, 457 "column": 15 458 } 459 } 460 }, 461 "loc": { 462 "start": { 463 "line": 16, 464 "column": 14 465 }, 466 "end": { 467 "line": 16, 468 "column": 16 469 } 470 } 471 } 472 ], 473 "loc": { 474 "start": { 475 "line": 16, 476 "column": 13 477 }, 478 "end": { 479 "line": 16, 480 "column": 16 481 } 482 } 483 }, 484 "body": { 485 "type": "BlockStatement", 486 "statements": [], 487 "loc": { 488 "start": { 489 "line": 16, 490 "column": 35 491 }, 492 "end": { 493 "line": 16, 494 "column": 37 495 } 496 } 497 }, 498 "loc": { 499 "start": { 500 "line": 16, 501 "column": 13 502 }, 503 "end": { 504 "line": 16, 505 "column": 37 506 } 507 } 508 }, 509 "loc": { 510 "start": { 511 "line": 16, 512 "column": 13 513 }, 514 "end": { 515 "line": 16, 516 "column": 37 517 } 518 } 519 }, 520 "overloads": [], 521 "decorators": [], 522 "loc": { 523 "start": { 524 "line": 16, 525 "column": 1 526 }, 527 "end": { 528 "line": 16, 529 "column": 37 530 } 531 } 532 }, 533 { 534 "type": "MethodDefinition", 535 "key": { 536 "type": "Identifier", 537 "name": "main", 538 "decorators": [], 539 "loc": { 540 "start": { 541 "line": 18, 542 "column": 10 543 }, 544 "end": { 545 "line": 18, 546 "column": 14 547 } 548 } 549 }, 550 "kind": "method", 551 "accessibility": "public", 552 "static": true, 553 "optional": false, 554 "computed": false, 555 "value": { 556 "type": "FunctionExpression", 557 "function": { 558 "type": "ScriptFunction", 559 "id": { 560 "type": "Identifier", 561 "name": "main", 562 "decorators": [], 563 "loc": { 564 "start": { 565 "line": 18, 566 "column": 10 567 }, 568 "end": { 569 "line": 18, 570 "column": 14 571 } 572 } 573 }, 574 "generator": false, 575 "async": false, 576 "expression": false, 577 "params": [], 578 "returnType": { 579 "type": "ETSPrimitiveType", 580 "loc": { 581 "start": { 582 "line": 18, 583 "column": 18 584 }, 585 "end": { 586 "line": 18, 587 "column": 22 588 } 589 } 590 }, 591 "body": { 592 "type": "BlockStatement", 593 "statements": [ 594 { 595 "type": "ExpressionStatement", 596 "expression": { 597 "type": "CallExpression", 598 "callee": { 599 "type": "Identifier", 600 "name": "foo", 601 "decorators": [], 602 "loc": { 603 "start": { 604 "line": 19, 605 "column": 3 606 }, 607 "end": { 608 "line": 19, 609 "column": 6 610 } 611 } 612 }, 613 "arguments": [ 614 { 615 "type": "ArrowFunctionExpression", 616 "function": { 617 "type": "ScriptFunction", 618 "id": null, 619 "generator": false, 620 "async": false, 621 "expression": false, 622 "params": [], 623 "returnType": { 624 "type": "ETSTypeReference", 625 "part": { 626 "type": "ETSTypeReferencePart", 627 "name": { 628 "type": "Identifier", 629 "name": "Tup", 630 "decorators": [], 631 "loc": { 632 "start": { 633 "line": 19, 634 "column": 24 635 }, 636 "end": { 637 "line": 19, 638 "column": 27 639 } 640 } 641 }, 642 "typeParams": { 643 "type": "TSTypeParameterInstantiation", 644 "params": [ 645 { 646 "type": "ETSTypeReference", 647 "part": { 648 "type": "ETSTypeReferencePart", 649 "name": { 650 "type": "Identifier", 651 "name": "number", 652 "decorators": [], 653 "loc": { 654 "start": { 655 "line": 19, 656 "column": 28 657 }, 658 "end": { 659 "line": 19, 660 "column": 34 661 } 662 } 663 }, 664 "loc": { 665 "start": { 666 "line": 19, 667 "column": 28 668 }, 669 "end": { 670 "line": 19, 671 "column": 35 672 } 673 } 674 }, 675 "loc": { 676 "start": { 677 "line": 19, 678 "column": 28 679 }, 680 "end": { 681 "line": 19, 682 "column": 35 683 } 684 } 685 } 686 ], 687 "loc": { 688 "start": { 689 "line": 19, 690 "column": 27 691 }, 692 "end": { 693 "line": 19, 694 "column": 35 695 } 696 } 697 }, 698 "loc": { 699 "start": { 700 "line": 19, 701 "column": 24 702 }, 703 "end": { 704 "line": 19, 705 "column": 38 706 } 707 } 708 }, 709 "loc": { 710 "start": { 711 "line": 19, 712 "column": 24 713 }, 714 "end": { 715 "line": 19, 716 "column": 38 717 } 718 } 719 }, 720 "body": { 721 "type": "BlockStatement", 722 "statements": [ 723 { 724 "type": "ThrowStatement", 725 "argument": { 726 "type": "ETSNewClassInstanceExpression", 727 "typeReference": { 728 "type": "ETSTypeReference", 729 "part": { 730 "type": "ETSTypeReferencePart", 731 "name": { 732 "type": "Identifier", 733 "name": "Error", 734 "decorators": [], 735 "loc": { 736 "start": { 737 "line": 19, 738 "column": 51 739 }, 740 "end": { 741 "line": 19, 742 "column": 56 743 } 744 } 745 }, 746 "loc": { 747 "start": { 748 "line": 19, 749 "column": 51 750 }, 751 "end": { 752 "line": 19, 753 "column": 57 754 } 755 } 756 }, 757 "loc": { 758 "start": { 759 "line": 19, 760 "column": 51 761 }, 762 "end": { 763 "line": 19, 764 "column": 57 765 } 766 } 767 }, 768 "arguments": [], 769 "loc": { 770 "start": { 771 "line": 19, 772 "column": 47 773 }, 774 "end": { 775 "line": 19, 776 "column": 60 777 } 778 } 779 }, 780 "loc": { 781 "start": { 782 "line": 19, 783 "column": 41 784 }, 785 "end": { 786 "line": 19, 787 "column": 60 788 } 789 } 790 } 791 ], 792 "loc": { 793 "start": { 794 "line": 19, 795 "column": 39 796 }, 797 "end": { 798 "line": 19, 799 "column": 60 800 } 801 } 802 }, 803 "loc": { 804 "start": { 805 "line": 19, 806 "column": 20 807 }, 808 "end": { 809 "line": 19, 810 "column": 60 811 } 812 } 813 }, 814 "loc": { 815 "start": { 816 "line": 19, 817 "column": 20 818 }, 819 "end": { 820 "line": 19, 821 "column": 60 822 } 823 } 824 } 825 ], 826 "optional": false, 827 "typeParameters": { 828 "type": "TSTypeParameterInstantiation", 829 "params": [ 830 { 831 "type": "ETSTypeReference", 832 "part": { 833 "type": "ETSTypeReferencePart", 834 "name": { 835 "type": "Identifier", 836 "name": "Tup", 837 "decorators": [], 838 "loc": { 839 "start": { 840 "line": 19, 841 "column": 7 842 }, 843 "end": { 844 "line": 19, 845 "column": 10 846 } 847 } 848 }, 849 "typeParams": { 850 "type": "TSTypeParameterInstantiation", 851 "params": [ 852 { 853 "type": "ETSTypeReference", 854 "part": { 855 "type": "ETSTypeReferencePart", 856 "name": { 857 "type": "Identifier", 858 "name": "number", 859 "decorators": [], 860 "loc": { 861 "start": { 862 "line": 19, 863 "column": 11 864 }, 865 "end": { 866 "line": 19, 867 "column": 17 868 } 869 } 870 }, 871 "loc": { 872 "start": { 873 "line": 19, 874 "column": 11 875 }, 876 "end": { 877 "line": 19, 878 "column": 19 879 } 880 } 881 }, 882 "loc": { 883 "start": { 884 "line": 19, 885 "column": 11 886 }, 887 "end": { 888 "line": 19, 889 "column": 19 890 } 891 } 892 } 893 ], 894 "loc": { 895 "start": { 896 "line": 19, 897 "column": 10 898 }, 899 "end": { 900 "line": 19, 901 "column": 19 902 } 903 } 904 }, 905 "loc": { 906 "start": { 907 "line": 19, 908 "column": 7 909 }, 910 "end": { 911 "line": 19, 912 "column": 19 913 } 914 } 915 }, 916 "loc": { 917 "start": { 918 "line": 19, 919 "column": 7 920 }, 921 "end": { 922 "line": 19, 923 "column": 19 924 } 925 } 926 } 927 ], 928 "loc": { 929 "start": { 930 "line": 19, 931 "column": 6 932 }, 933 "end": { 934 "line": 19, 935 "column": 19 936 } 937 } 938 }, 939 "loc": { 940 "start": { 941 "line": 19, 942 "column": 3 943 }, 944 "end": { 945 "line": 19, 946 "column": 61 947 } 948 } 949 }, 950 "loc": { 951 "start": { 952 "line": 19, 953 "column": 3 954 }, 955 "end": { 956 "line": 19, 957 "column": 62 958 } 959 } 960 } 961 ], 962 "loc": { 963 "start": { 964 "line": 18, 965 "column": 23 966 }, 967 "end": { 968 "line": 20, 969 "column": 2 970 } 971 } 972 }, 973 "loc": { 974 "start": { 975 "line": 18, 976 "column": 14 977 }, 978 "end": { 979 "line": 20, 980 "column": 2 981 } 982 } 983 }, 984 "loc": { 985 "start": { 986 "line": 18, 987 "column": 14 988 }, 989 "end": { 990 "line": 20, 991 "column": 2 992 } 993 } 994 }, 995 "overloads": [], 996 "decorators": [], 997 "loc": { 998 "start": { 999 "line": 18, 1000 "column": 1 1001 }, 1002 "end": { 1003 "line": 20, 1004 "column": 2 1005 } 1006 } 1007 } 1008 ], 1009 "loc": { 1010 "start": { 1011 "line": 1, 1012 "column": 1 1013 }, 1014 "end": { 1015 "line": 1, 1016 "column": 1 1017 } 1018 } 1019 }, 1020 "loc": { 1021 "start": { 1022 "line": 1, 1023 "column": 1 1024 }, 1025 "end": { 1026 "line": 1, 1027 "column": 1 1028 } 1029 } 1030 } 1031 ], 1032 "loc": { 1033 "start": { 1034 "line": 1, 1035 "column": 1 1036 }, 1037 "end": { 1038 "line": 22, 1039 "column": 1 1040 } 1041 } 1042} 1043