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