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