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