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