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