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