1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "ClassDeclaration", 6 "definition": { 7 "id": { 8 "type": "Identifier", 9 "name": "SomeType", 10 "decorators": [], 11 "loc": { 12 "start": { 13 "line": 24, 14 "column": 7 15 }, 16 "end": { 17 "line": 24, 18 "column": 15 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": 24, 110 "column": 18 111 }, 112 "end": { 113 "line": 24, 114 "column": 18 115 } 116 } 117 } 118 ], 119 "loc": { 120 "start": { 121 "line": 24, 122 "column": 16 123 }, 124 "end": { 125 "line": 24, 126 "column": 18 127 } 128 } 129 }, 130 "loc": { 131 "start": { 132 "line": 24, 133 "column": 1 134 }, 135 "end": { 136 "line": 24, 137 "column": 18 138 } 139 } 140 }, 141 { 142 "type": "TSInterfaceDeclaration", 143 "body": { 144 "type": "TSInterfaceBody", 145 "body": [], 146 "loc": { 147 "start": { 148 "line": 25, 149 "column": 37 150 }, 151 "end": { 152 "line": 25, 153 "column": 40 154 } 155 } 156 }, 157 "id": { 158 "type": "Identifier", 159 "name": "Interface", 160 "decorators": [], 161 "loc": { 162 "start": { 163 "line": 25, 164 "column": 11 165 }, 166 "end": { 167 "line": 25, 168 "column": 20 169 } 170 } 171 }, 172 "extends": [], 173 "typeParameters": { 174 "type": "TSTypeParameterDeclaration", 175 "params": [ 176 { 177 "type": "TSTypeParameter", 178 "name": { 179 "type": "Identifier", 180 "name": "T1", 181 "decorators": [], 182 "loc": { 183 "start": { 184 "line": 25, 185 "column": 22 186 }, 187 "end": { 188 "line": 25, 189 "column": 24 190 } 191 } 192 }, 193 "default": { 194 "type": "ETSTypeReference", 195 "part": { 196 "type": "ETSTypeReferencePart", 197 "name": { 198 "type": "Identifier", 199 "name": "SomeType", 200 "decorators": [], 201 "loc": { 202 "start": { 203 "line": 25, 204 "column": 27 205 }, 206 "end": { 207 "line": 25, 208 "column": 35 209 } 210 } 211 }, 212 "loc": { 213 "start": { 214 "line": 25, 215 "column": 27 216 }, 217 "end": { 218 "line": 25, 219 "column": 36 220 } 221 } 222 }, 223 "loc": { 224 "start": { 225 "line": 25, 226 "column": 27 227 }, 228 "end": { 229 "line": 25, 230 "column": 36 231 } 232 } 233 }, 234 "loc": { 235 "start": { 236 "line": 25, 237 "column": 22 238 }, 239 "end": { 240 "line": 25, 241 "column": 36 242 } 243 } 244 } 245 ], 246 "loc": { 247 "start": { 248 "line": 25, 249 "column": 21 250 }, 251 "end": { 252 "line": 25, 253 "column": 36 254 } 255 } 256 }, 257 "loc": { 258 "start": { 259 "line": 25, 260 "column": 1 261 }, 262 "end": { 263 "line": 26, 264 "column": 6 265 } 266 } 267 }, 268 { 269 "type": "ClassDeclaration", 270 "definition": { 271 "id": { 272 "type": "Identifier", 273 "name": "Base", 274 "decorators": [], 275 "loc": { 276 "start": { 277 "line": 26, 278 "column": 7 279 }, 280 "end": { 281 "line": 26, 282 "column": 11 283 } 284 } 285 }, 286 "typeParameters": { 287 "type": "TSTypeParameterDeclaration", 288 "params": [ 289 { 290 "type": "TSTypeParameter", 291 "name": { 292 "type": "Identifier", 293 "name": "T2", 294 "decorators": [], 295 "loc": { 296 "start": { 297 "line": 26, 298 "column": 13 299 }, 300 "end": { 301 "line": 26, 302 "column": 15 303 } 304 } 305 }, 306 "default": { 307 "type": "ETSTypeReference", 308 "part": { 309 "type": "ETSTypeReferencePart", 310 "name": { 311 "type": "Identifier", 312 "name": "SomeType", 313 "decorators": [], 314 "loc": { 315 "start": { 316 "line": 26, 317 "column": 18 318 }, 319 "end": { 320 "line": 26, 321 "column": 26 322 } 323 } 324 }, 325 "loc": { 326 "start": { 327 "line": 26, 328 "column": 18 329 }, 330 "end": { 331 "line": 26, 332 "column": 27 333 } 334 } 335 }, 336 "loc": { 337 "start": { 338 "line": 26, 339 "column": 18 340 }, 341 "end": { 342 "line": 26, 343 "column": 27 344 } 345 } 346 }, 347 "loc": { 348 "start": { 349 "line": 26, 350 "column": 13 351 }, 352 "end": { 353 "line": 26, 354 "column": 27 355 } 356 } 357 } 358 ], 359 "loc": { 360 "start": { 361 "line": 26, 362 "column": 12 363 }, 364 "end": { 365 "line": 26, 366 "column": 27 367 } 368 } 369 }, 370 "superClass": null, 371 "implements": [], 372 "body": [ 373 { 374 "type": "MethodDefinition", 375 "key": { 376 "type": "Identifier", 377 "name": "constructor", 378 "decorators": [], 379 "loc": { 380 "start": { 381 "line": 1, 382 "column": 1 383 }, 384 "end": { 385 "line": 1, 386 "column": 1 387 } 388 } 389 }, 390 "kind": "constructor", 391 "static": false, 392 "optional": false, 393 "computed": false, 394 "value": { 395 "type": "FunctionExpression", 396 "function": { 397 "type": "ScriptFunction", 398 "id": { 399 "type": "Identifier", 400 "name": "constructor", 401 "decorators": [], 402 "loc": { 403 "start": { 404 "line": 1, 405 "column": 1 406 }, 407 "end": { 408 "line": 1, 409 "column": 1 410 } 411 } 412 }, 413 "generator": false, 414 "async": false, 415 "expression": false, 416 "params": [], 417 "body": { 418 "type": "BlockStatement", 419 "statements": [], 420 "loc": { 421 "start": { 422 "line": 1, 423 "column": 1 424 }, 425 "end": { 426 "line": 1, 427 "column": 1 428 } 429 } 430 }, 431 "loc": { 432 "start": { 433 "line": 1, 434 "column": 1 435 }, 436 "end": { 437 "line": 1, 438 "column": 1 439 } 440 } 441 }, 442 "loc": { 443 "start": { 444 "line": 1, 445 "column": 1 446 }, 447 "end": { 448 "line": 1, 449 "column": 1 450 } 451 } 452 }, 453 "overloads": [], 454 "decorators": [], 455 "loc": { 456 "start": { 457 "line": 26, 458 "column": 31 459 }, 460 "end": { 461 "line": 26, 462 "column": 31 463 } 464 } 465 } 466 ], 467 "loc": { 468 "start": { 469 "line": 26, 470 "column": 28 471 }, 472 "end": { 473 "line": 26, 474 "column": 31 475 } 476 } 477 }, 478 "loc": { 479 "start": { 480 "line": 26, 481 "column": 1 482 }, 483 "end": { 484 "line": 26, 485 "column": 31 486 } 487 } 488 }, 489 { 490 "type": "ClassDeclaration", 491 "definition": { 492 "id": { 493 "type": "Identifier", 494 "name": "Derived1", 495 "decorators": [], 496 "loc": { 497 "start": { 498 "line": 27, 499 "column": 7 500 }, 501 "end": { 502 "line": 27, 503 "column": 15 504 } 505 } 506 }, 507 "superClass": { 508 "type": "ETSTypeReference", 509 "part": { 510 "type": "ETSTypeReferencePart", 511 "name": { 512 "type": "Identifier", 513 "name": "Base", 514 "decorators": [], 515 "loc": { 516 "start": { 517 "line": 27, 518 "column": 24 519 }, 520 "end": { 521 "line": 27, 522 "column": 28 523 } 524 } 525 }, 526 "loc": { 527 "start": { 528 "line": 27, 529 "column": 24 530 }, 531 "end": { 532 "line": 27, 533 "column": 39 534 } 535 } 536 }, 537 "loc": { 538 "start": { 539 "line": 27, 540 "column": 24 541 }, 542 "end": { 543 "line": 27, 544 "column": 39 545 } 546 } 547 }, 548 "implements": [ 549 { 550 "type": "TSClassImplements", 551 "expression": { 552 "type": "ETSTypeReference", 553 "part": { 554 "type": "ETSTypeReferencePart", 555 "name": { 556 "type": "Identifier", 557 "name": "Interface", 558 "decorators": [], 559 "loc": { 560 "start": { 561 "line": 27, 562 "column": 40 563 }, 564 "end": { 565 "line": 27, 566 "column": 49 567 } 568 } 569 }, 570 "loc": { 571 "start": { 572 "line": 27, 573 "column": 40 574 }, 575 "end": { 576 "line": 27, 577 "column": 51 578 } 579 } 580 }, 581 "loc": { 582 "start": { 583 "line": 27, 584 "column": 40 585 }, 586 "end": { 587 "line": 27, 588 "column": 51 589 } 590 } 591 }, 592 "loc": { 593 "start": { 594 "line": 27, 595 "column": 40 596 }, 597 "end": { 598 "line": 27, 599 "column": 51 600 } 601 } 602 } 603 ], 604 "body": [ 605 { 606 "type": "MethodDefinition", 607 "key": { 608 "type": "Identifier", 609 "name": "constructor", 610 "decorators": [], 611 "loc": { 612 "start": { 613 "line": 1, 614 "column": 1 615 }, 616 "end": { 617 "line": 1, 618 "column": 1 619 } 620 } 621 }, 622 "kind": "constructor", 623 "static": false, 624 "optional": false, 625 "computed": false, 626 "value": { 627 "type": "FunctionExpression", 628 "function": { 629 "type": "ScriptFunction", 630 "id": { 631 "type": "Identifier", 632 "name": "constructor", 633 "decorators": [], 634 "loc": { 635 "start": { 636 "line": 1, 637 "column": 1 638 }, 639 "end": { 640 "line": 1, 641 "column": 1 642 } 643 } 644 }, 645 "generator": false, 646 "async": false, 647 "expression": false, 648 "params": [], 649 "body": { 650 "type": "BlockStatement", 651 "statements": [], 652 "loc": { 653 "start": { 654 "line": 1, 655 "column": 1 656 }, 657 "end": { 658 "line": 1, 659 "column": 1 660 } 661 } 662 }, 663 "loc": { 664 "start": { 665 "line": 1, 666 "column": 1 667 }, 668 "end": { 669 "line": 1, 670 "column": 1 671 } 672 } 673 }, 674 "loc": { 675 "start": { 676 "line": 1, 677 "column": 1 678 }, 679 "end": { 680 "line": 1, 681 "column": 1 682 } 683 } 684 }, 685 "overloads": [], 686 "decorators": [], 687 "loc": { 688 "start": { 689 "line": 27, 690 "column": 53 691 }, 692 "end": { 693 "line": 27, 694 "column": 53 695 } 696 } 697 } 698 ], 699 "loc": { 700 "start": { 701 "line": 27, 702 "column": 50 703 }, 704 "end": { 705 "line": 27, 706 "column": 53 707 } 708 } 709 }, 710 "loc": { 711 "start": { 712 "line": 27, 713 "column": 1 714 }, 715 "end": { 716 "line": 27, 717 "column": 53 718 } 719 } 720 }, 721 { 722 "type": "ClassDeclaration", 723 "definition": { 724 "id": { 725 "type": "Identifier", 726 "name": "Derived2", 727 "decorators": [], 728 "loc": { 729 "start": { 730 "line": 28, 731 "column": 7 732 }, 733 "end": { 734 "line": 28, 735 "column": 15 736 } 737 } 738 }, 739 "superClass": { 740 "type": "ETSTypeReference", 741 "part": { 742 "type": "ETSTypeReferencePart", 743 "name": { 744 "type": "Identifier", 745 "name": "Base", 746 "decorators": [], 747 "loc": { 748 "start": { 749 "line": 28, 750 "column": 24 751 }, 752 "end": { 753 "line": 28, 754 "column": 28 755 } 756 } 757 }, 758 "typeParams": { 759 "type": "TSTypeParameterInstantiation", 760 "params": [ 761 { 762 "type": "ETSTypeReference", 763 "part": { 764 "type": "ETSTypeReferencePart", 765 "name": { 766 "type": "Identifier", 767 "name": "SomeType", 768 "decorators": [], 769 "loc": { 770 "start": { 771 "line": 28, 772 "column": 29 773 }, 774 "end": { 775 "line": 28, 776 "column": 37 777 } 778 } 779 }, 780 "loc": { 781 "start": { 782 "line": 28, 783 "column": 29 784 }, 785 "end": { 786 "line": 28, 787 "column": 38 788 } 789 } 790 }, 791 "loc": { 792 "start": { 793 "line": 28, 794 "column": 29 795 }, 796 "end": { 797 "line": 28, 798 "column": 38 799 } 800 } 801 } 802 ], 803 "loc": { 804 "start": { 805 "line": 28, 806 "column": 28 807 }, 808 "end": { 809 "line": 28, 810 "column": 38 811 } 812 } 813 }, 814 "loc": { 815 "start": { 816 "line": 28, 817 "column": 24 818 }, 819 "end": { 820 "line": 28, 821 "column": 49 822 } 823 } 824 }, 825 "loc": { 826 "start": { 827 "line": 28, 828 "column": 24 829 }, 830 "end": { 831 "line": 28, 832 "column": 49 833 } 834 } 835 }, 836 "implements": [ 837 { 838 "type": "TSClassImplements", 839 "expression": { 840 "type": "ETSTypeReference", 841 "part": { 842 "type": "ETSTypeReferencePart", 843 "name": { 844 "type": "Identifier", 845 "name": "Interface", 846 "decorators": [], 847 "loc": { 848 "start": { 849 "line": 28, 850 "column": 50 851 }, 852 "end": { 853 "line": 28, 854 "column": 59 855 } 856 } 857 }, 858 "typeParams": { 859 "type": "TSTypeParameterInstantiation", 860 "params": [ 861 { 862 "type": "ETSTypeReference", 863 "part": { 864 "type": "ETSTypeReferencePart", 865 "name": { 866 "type": "Identifier", 867 "name": "SomeType", 868 "decorators": [], 869 "loc": { 870 "start": { 871 "line": 28, 872 "column": 60 873 }, 874 "end": { 875 "line": 28, 876 "column": 68 877 } 878 } 879 }, 880 "loc": { 881 "start": { 882 "line": 28, 883 "column": 60 884 }, 885 "end": { 886 "line": 28, 887 "column": 69 888 } 889 } 890 }, 891 "loc": { 892 "start": { 893 "line": 28, 894 "column": 60 895 }, 896 "end": { 897 "line": 28, 898 "column": 69 899 } 900 } 901 } 902 ], 903 "loc": { 904 "start": { 905 "line": 28, 906 "column": 59 907 }, 908 "end": { 909 "line": 28, 910 "column": 69 911 } 912 } 913 }, 914 "loc": { 915 "start": { 916 "line": 28, 917 "column": 50 918 }, 919 "end": { 920 "line": 28, 921 "column": 71 922 } 923 } 924 }, 925 "loc": { 926 "start": { 927 "line": 28, 928 "column": 50 929 }, 930 "end": { 931 "line": 28, 932 "column": 71 933 } 934 } 935 }, 936 "loc": { 937 "start": { 938 "line": 28, 939 "column": 50 940 }, 941 "end": { 942 "line": 28, 943 "column": 71 944 } 945 } 946 } 947 ], 948 "body": [ 949 { 950 "type": "MethodDefinition", 951 "key": { 952 "type": "Identifier", 953 "name": "constructor", 954 "decorators": [], 955 "loc": { 956 "start": { 957 "line": 1, 958 "column": 1 959 }, 960 "end": { 961 "line": 1, 962 "column": 1 963 } 964 } 965 }, 966 "kind": "constructor", 967 "static": false, 968 "optional": false, 969 "computed": false, 970 "value": { 971 "type": "FunctionExpression", 972 "function": { 973 "type": "ScriptFunction", 974 "id": { 975 "type": "Identifier", 976 "name": "constructor", 977 "decorators": [], 978 "loc": { 979 "start": { 980 "line": 1, 981 "column": 1 982 }, 983 "end": { 984 "line": 1, 985 "column": 1 986 } 987 } 988 }, 989 "generator": false, 990 "async": false, 991 "expression": false, 992 "params": [], 993 "body": { 994 "type": "BlockStatement", 995 "statements": [], 996 "loc": { 997 "start": { 998 "line": 1, 999 "column": 1 1000 }, 1001 "end": { 1002 "line": 1, 1003 "column": 1 1004 } 1005 } 1006 }, 1007 "loc": { 1008 "start": { 1009 "line": 1, 1010 "column": 1 1011 }, 1012 "end": { 1013 "line": 1, 1014 "column": 1 1015 } 1016 } 1017 }, 1018 "loc": { 1019 "start": { 1020 "line": 1, 1021 "column": 1 1022 }, 1023 "end": { 1024 "line": 1, 1025 "column": 1 1026 } 1027 } 1028 }, 1029 "overloads": [], 1030 "decorators": [], 1031 "loc": { 1032 "start": { 1033 "line": 28, 1034 "column": 73 1035 }, 1036 "end": { 1037 "line": 28, 1038 "column": 73 1039 } 1040 } 1041 } 1042 ], 1043 "loc": { 1044 "start": { 1045 "line": 28, 1046 "column": 70 1047 }, 1048 "end": { 1049 "line": 28, 1050 "column": 73 1051 } 1052 } 1053 }, 1054 "loc": { 1055 "start": { 1056 "line": 28, 1057 "column": 1 1058 }, 1059 "end": { 1060 "line": 28, 1061 "column": 73 1062 } 1063 } 1064 }, 1065 { 1066 "type": "ClassDeclaration", 1067 "definition": { 1068 "id": { 1069 "type": "Identifier", 1070 "name": "C2", 1071 "decorators": [], 1072 "loc": { 1073 "start": { 1074 "line": 30, 1075 "column": 7 1076 }, 1077 "end": { 1078 "line": 30, 1079 "column": 9 1080 } 1081 } 1082 }, 1083 "typeParameters": { 1084 "type": "TSTypeParameterDeclaration", 1085 "params": [ 1086 { 1087 "type": "TSTypeParameter", 1088 "name": { 1089 "type": "Identifier", 1090 "name": "T1", 1091 "decorators": [], 1092 "loc": { 1093 "start": { 1094 "line": 30, 1095 "column": 11 1096 }, 1097 "end": { 1098 "line": 30, 1099 "column": 13 1100 } 1101 } 1102 }, 1103 "loc": { 1104 "start": { 1105 "line": 30, 1106 "column": 11 1107 }, 1108 "end": { 1109 "line": 30, 1110 "column": 14 1111 } 1112 } 1113 }, 1114 { 1115 "type": "TSTypeParameter", 1116 "name": { 1117 "type": "Identifier", 1118 "name": "T2", 1119 "decorators": [], 1120 "loc": { 1121 "start": { 1122 "line": 30, 1123 "column": 15 1124 }, 1125 "end": { 1126 "line": 30, 1127 "column": 17 1128 } 1129 } 1130 }, 1131 "default": { 1132 "type": "ETSTypeReference", 1133 "part": { 1134 "type": "ETSTypeReferencePart", 1135 "name": { 1136 "type": "Identifier", 1137 "name": "number", 1138 "decorators": [], 1139 "loc": { 1140 "start": { 1141 "line": 30, 1142 "column": 20 1143 }, 1144 "end": { 1145 "line": 30, 1146 "column": 26 1147 } 1148 } 1149 }, 1150 "loc": { 1151 "start": { 1152 "line": 30, 1153 "column": 20 1154 }, 1155 "end": { 1156 "line": 30, 1157 "column": 27 1158 } 1159 } 1160 }, 1161 "loc": { 1162 "start": { 1163 "line": 30, 1164 "column": 20 1165 }, 1166 "end": { 1167 "line": 30, 1168 "column": 27 1169 } 1170 } 1171 }, 1172 "loc": { 1173 "start": { 1174 "line": 30, 1175 "column": 15 1176 }, 1177 "end": { 1178 "line": 30, 1179 "column": 27 1180 } 1181 } 1182 }, 1183 { 1184 "type": "TSTypeParameter", 1185 "name": { 1186 "type": "Identifier", 1187 "name": "T3", 1188 "decorators": [], 1189 "loc": { 1190 "start": { 1191 "line": 30, 1192 "column": 28 1193 }, 1194 "end": { 1195 "line": 30, 1196 "column": 30 1197 } 1198 } 1199 }, 1200 "default": { 1201 "type": "ETSTypeReference", 1202 "part": { 1203 "type": "ETSTypeReferencePart", 1204 "name": { 1205 "type": "Identifier", 1206 "name": "string", 1207 "decorators": [], 1208 "loc": { 1209 "start": { 1210 "line": 30, 1211 "column": 33 1212 }, 1213 "end": { 1214 "line": 30, 1215 "column": 39 1216 } 1217 } 1218 }, 1219 "loc": { 1220 "start": { 1221 "line": 30, 1222 "column": 33 1223 }, 1224 "end": { 1225 "line": 30, 1226 "column": 40 1227 } 1228 } 1229 }, 1230 "loc": { 1231 "start": { 1232 "line": 30, 1233 "column": 33 1234 }, 1235 "end": { 1236 "line": 30, 1237 "column": 40 1238 } 1239 } 1240 }, 1241 "loc": { 1242 "start": { 1243 "line": 30, 1244 "column": 28 1245 }, 1246 "end": { 1247 "line": 30, 1248 "column": 40 1249 } 1250 } 1251 } 1252 ], 1253 "loc": { 1254 "start": { 1255 "line": 30, 1256 "column": 10 1257 }, 1258 "end": { 1259 "line": 30, 1260 "column": 40 1261 } 1262 } 1263 }, 1264 "superClass": null, 1265 "implements": [], 1266 "body": [ 1267 { 1268 "type": "MethodDefinition", 1269 "key": { 1270 "type": "Identifier", 1271 "name": "constructor", 1272 "decorators": [], 1273 "loc": { 1274 "start": { 1275 "line": 1, 1276 "column": 1 1277 }, 1278 "end": { 1279 "line": 1, 1280 "column": 1 1281 } 1282 } 1283 }, 1284 "kind": "constructor", 1285 "static": false, 1286 "optional": false, 1287 "computed": false, 1288 "value": { 1289 "type": "FunctionExpression", 1290 "function": { 1291 "type": "ScriptFunction", 1292 "id": { 1293 "type": "Identifier", 1294 "name": "constructor", 1295 "decorators": [], 1296 "loc": { 1297 "start": { 1298 "line": 1, 1299 "column": 1 1300 }, 1301 "end": { 1302 "line": 1, 1303 "column": 1 1304 } 1305 } 1306 }, 1307 "generator": false, 1308 "async": false, 1309 "expression": false, 1310 "params": [], 1311 "body": { 1312 "type": "BlockStatement", 1313 "statements": [], 1314 "loc": { 1315 "start": { 1316 "line": 1, 1317 "column": 1 1318 }, 1319 "end": { 1320 "line": 1, 1321 "column": 1 1322 } 1323 } 1324 }, 1325 "loc": { 1326 "start": { 1327 "line": 1, 1328 "column": 1 1329 }, 1330 "end": { 1331 "line": 1, 1332 "column": 1 1333 } 1334 } 1335 }, 1336 "loc": { 1337 "start": { 1338 "line": 1, 1339 "column": 1 1340 }, 1341 "end": { 1342 "line": 1, 1343 "column": 1 1344 } 1345 } 1346 }, 1347 "overloads": [], 1348 "decorators": [], 1349 "loc": { 1350 "start": { 1351 "line": 30, 1352 "column": 43 1353 }, 1354 "end": { 1355 "line": 30, 1356 "column": 43 1357 } 1358 } 1359 } 1360 ], 1361 "loc": { 1362 "start": { 1363 "line": 30, 1364 "column": 41 1365 }, 1366 "end": { 1367 "line": 30, 1368 "column": 43 1369 } 1370 } 1371 }, 1372 "loc": { 1373 "start": { 1374 "line": 30, 1375 "column": 1 1376 }, 1377 "end": { 1378 "line": 30, 1379 "column": 43 1380 } 1381 } 1382 }, 1383 { 1384 "type": "ClassDeclaration", 1385 "definition": { 1386 "id": { 1387 "type": "Identifier", 1388 "name": "ETSGLOBAL", 1389 "decorators": [], 1390 "loc": { 1391 "start": { 1392 "line": 1, 1393 "column": 1 1394 }, 1395 "end": { 1396 "line": 1, 1397 "column": 1 1398 } 1399 } 1400 }, 1401 "superClass": null, 1402 "implements": [], 1403 "body": [ 1404 { 1405 "type": "MethodDefinition", 1406 "key": { 1407 "type": "Identifier", 1408 "name": "main", 1409 "decorators": [], 1410 "loc": { 1411 "start": { 1412 "line": 1, 1413 "column": 1 1414 }, 1415 "end": { 1416 "line": 1, 1417 "column": 1 1418 } 1419 } 1420 }, 1421 "kind": "method", 1422 "accessibility": "public", 1423 "static": true, 1424 "optional": false, 1425 "computed": false, 1426 "value": { 1427 "type": "FunctionExpression", 1428 "function": { 1429 "type": "ScriptFunction", 1430 "id": { 1431 "type": "Identifier", 1432 "name": "main", 1433 "decorators": [], 1434 "loc": { 1435 "start": { 1436 "line": 1, 1437 "column": 1 1438 }, 1439 "end": { 1440 "line": 1, 1441 "column": 1 1442 } 1443 } 1444 }, 1445 "generator": false, 1446 "async": false, 1447 "expression": false, 1448 "params": [], 1449 "body": { 1450 "type": "BlockStatement", 1451 "statements": [], 1452 "loc": { 1453 "start": { 1454 "line": 1, 1455 "column": 1 1456 }, 1457 "end": { 1458 "line": 1, 1459 "column": 1 1460 } 1461 } 1462 }, 1463 "loc": { 1464 "start": { 1465 "line": 1, 1466 "column": 1 1467 }, 1468 "end": { 1469 "line": 1, 1470 "column": 1 1471 } 1472 } 1473 }, 1474 "loc": { 1475 "start": { 1476 "line": 1, 1477 "column": 1 1478 }, 1479 "end": { 1480 "line": 1, 1481 "column": 1 1482 } 1483 } 1484 }, 1485 "overloads": [], 1486 "decorators": [], 1487 "loc": { 1488 "start": { 1489 "line": 1, 1490 "column": 1 1491 }, 1492 "end": { 1493 "line": 1, 1494 "column": 1 1495 } 1496 } 1497 }, 1498 { 1499 "type": "MethodDefinition", 1500 "key": { 1501 "type": "Identifier", 1502 "name": "_$init$_", 1503 "decorators": [], 1504 "loc": { 1505 "start": { 1506 "line": 1, 1507 "column": 1 1508 }, 1509 "end": { 1510 "line": 1, 1511 "column": 1 1512 } 1513 } 1514 }, 1515 "kind": "method", 1516 "accessibility": "public", 1517 "static": true, 1518 "optional": false, 1519 "computed": false, 1520 "value": { 1521 "type": "FunctionExpression", 1522 "function": { 1523 "type": "ScriptFunction", 1524 "id": { 1525 "type": "Identifier", 1526 "name": "_$init$_", 1527 "decorators": [], 1528 "loc": { 1529 "start": { 1530 "line": 1, 1531 "column": 1 1532 }, 1533 "end": { 1534 "line": 1, 1535 "column": 1 1536 } 1537 } 1538 }, 1539 "generator": false, 1540 "async": false, 1541 "expression": false, 1542 "params": [], 1543 "body": { 1544 "type": "BlockStatement", 1545 "statements": [ 1546 { 1547 "type": "ExpressionStatement", 1548 "expression": { 1549 "type": "CallExpression", 1550 "callee": { 1551 "type": "Identifier", 1552 "name": "alma", 1553 "decorators": [], 1554 "loc": { 1555 "start": { 1556 "line": 20, 1557 "column": 1 1558 }, 1559 "end": { 1560 "line": 20, 1561 "column": 5 1562 } 1563 } 1564 }, 1565 "arguments": [ 1566 { 1567 "type": "TSAsExpression", 1568 "expression": { 1569 "type": "NumberLiteral", 1570 "value": 1, 1571 "loc": { 1572 "start": { 1573 "line": 20, 1574 "column": 6 1575 }, 1576 "end": { 1577 "line": 20, 1578 "column": 7 1579 } 1580 } 1581 }, 1582 "typeAnnotation": { 1583 "type": "ETSTypeReference", 1584 "part": { 1585 "type": "ETSTypeReferencePart", 1586 "name": { 1587 "type": "Identifier", 1588 "name": "number", 1589 "decorators": [], 1590 "loc": { 1591 "start": { 1592 "line": 20, 1593 "column": 11 1594 }, 1595 "end": { 1596 "line": 20, 1597 "column": 17 1598 } 1599 } 1600 }, 1601 "loc": { 1602 "start": { 1603 "line": 20, 1604 "column": 11 1605 }, 1606 "end": { 1607 "line": 20, 1608 "column": 18 1609 } 1610 } 1611 }, 1612 "loc": { 1613 "start": { 1614 "line": 20, 1615 "column": 11 1616 }, 1617 "end": { 1618 "line": 20, 1619 "column": 18 1620 } 1621 } 1622 }, 1623 "loc": { 1624 "start": { 1625 "line": 20, 1626 "column": 6 1627 }, 1628 "end": { 1629 "line": 20, 1630 "column": 7 1631 } 1632 } 1633 } 1634 ], 1635 "optional": false, 1636 "loc": { 1637 "start": { 1638 "line": 20, 1639 "column": 1 1640 }, 1641 "end": { 1642 "line": 20, 1643 "column": 18 1644 } 1645 } 1646 }, 1647 "loc": { 1648 "start": { 1649 "line": 20, 1650 "column": 1 1651 }, 1652 "end": { 1653 "line": 20, 1654 "column": 18 1655 } 1656 } 1657 }, 1658 { 1659 "type": "ExpressionStatement", 1660 "expression": { 1661 "type": "CallExpression", 1662 "callee": { 1663 "type": "Identifier", 1664 "name": "alma", 1665 "decorators": [], 1666 "loc": { 1667 "start": { 1668 "line": 21, 1669 "column": 1 1670 }, 1671 "end": { 1672 "line": 21, 1673 "column": 5 1674 } 1675 } 1676 }, 1677 "arguments": [ 1678 { 1679 "type": "TSAsExpression", 1680 "expression": { 1681 "type": "NumberLiteral", 1682 "value": 1, 1683 "loc": { 1684 "start": { 1685 "line": 21, 1686 "column": 14 1687 }, 1688 "end": { 1689 "line": 21, 1690 "column": 15 1691 } 1692 } 1693 }, 1694 "typeAnnotation": { 1695 "type": "ETSTypeReference", 1696 "part": { 1697 "type": "ETSTypeReferencePart", 1698 "name": { 1699 "type": "Identifier", 1700 "name": "number", 1701 "decorators": [], 1702 "loc": { 1703 "start": { 1704 "line": 21, 1705 "column": 19 1706 }, 1707 "end": { 1708 "line": 21, 1709 "column": 25 1710 } 1711 } 1712 }, 1713 "loc": { 1714 "start": { 1715 "line": 21, 1716 "column": 19 1717 }, 1718 "end": { 1719 "line": 21, 1720 "column": 26 1721 } 1722 } 1723 }, 1724 "loc": { 1725 "start": { 1726 "line": 21, 1727 "column": 19 1728 }, 1729 "end": { 1730 "line": 21, 1731 "column": 26 1732 } 1733 } 1734 }, 1735 "loc": { 1736 "start": { 1737 "line": 21, 1738 "column": 14 1739 }, 1740 "end": { 1741 "line": 21, 1742 "column": 15 1743 } 1744 } 1745 } 1746 ], 1747 "optional": false, 1748 "typeParameters": { 1749 "type": "TSTypeParameterInstantiation", 1750 "params": [ 1751 { 1752 "type": "ETSTypeReference", 1753 "part": { 1754 "type": "ETSTypeReferencePart", 1755 "name": { 1756 "type": "Identifier", 1757 "name": "number", 1758 "decorators": [], 1759 "loc": { 1760 "start": { 1761 "line": 21, 1762 "column": 6 1763 }, 1764 "end": { 1765 "line": 21, 1766 "column": 12 1767 } 1768 } 1769 }, 1770 "loc": { 1771 "start": { 1772 "line": 21, 1773 "column": 6 1774 }, 1775 "end": { 1776 "line": 21, 1777 "column": 13 1778 } 1779 } 1780 }, 1781 "loc": { 1782 "start": { 1783 "line": 21, 1784 "column": 6 1785 }, 1786 "end": { 1787 "line": 21, 1788 "column": 13 1789 } 1790 } 1791 } 1792 ], 1793 "loc": { 1794 "start": { 1795 "line": 21, 1796 "column": 5 1797 }, 1798 "end": { 1799 "line": 21, 1800 "column": 13 1801 } 1802 } 1803 }, 1804 "loc": { 1805 "start": { 1806 "line": 21, 1807 "column": 1 1808 }, 1809 "end": { 1810 "line": 21, 1811 "column": 26 1812 } 1813 } 1814 }, 1815 "loc": { 1816 "start": { 1817 "line": 21, 1818 "column": 1 1819 }, 1820 "end": { 1821 "line": 21, 1822 "column": 26 1823 } 1824 } 1825 }, 1826 { 1827 "type": "ExpressionStatement", 1828 "expression": { 1829 "type": "CallExpression", 1830 "callee": { 1831 "type": "Identifier", 1832 "name": "alma", 1833 "decorators": [], 1834 "loc": { 1835 "start": { 1836 "line": 22, 1837 "column": 1 1838 }, 1839 "end": { 1840 "line": 22, 1841 "column": 5 1842 } 1843 } 1844 }, 1845 "arguments": [ 1846 { 1847 "type": "StringLiteral", 1848 "value": "alma", 1849 "loc": { 1850 "start": { 1851 "line": 22, 1852 "column": 14 1853 }, 1854 "end": { 1855 "line": 22, 1856 "column": 20 1857 } 1858 } 1859 } 1860 ], 1861 "optional": false, 1862 "typeParameters": { 1863 "type": "TSTypeParameterInstantiation", 1864 "params": [ 1865 { 1866 "type": "ETSTypeReference", 1867 "part": { 1868 "type": "ETSTypeReferencePart", 1869 "name": { 1870 "type": "Identifier", 1871 "name": "string", 1872 "decorators": [], 1873 "loc": { 1874 "start": { 1875 "line": 22, 1876 "column": 6 1877 }, 1878 "end": { 1879 "line": 22, 1880 "column": 12 1881 } 1882 } 1883 }, 1884 "loc": { 1885 "start": { 1886 "line": 22, 1887 "column": 6 1888 }, 1889 "end": { 1890 "line": 22, 1891 "column": 13 1892 } 1893 } 1894 }, 1895 "loc": { 1896 "start": { 1897 "line": 22, 1898 "column": 6 1899 }, 1900 "end": { 1901 "line": 22, 1902 "column": 13 1903 } 1904 } 1905 } 1906 ], 1907 "loc": { 1908 "start": { 1909 "line": 22, 1910 "column": 5 1911 }, 1912 "end": { 1913 "line": 22, 1914 "column": 13 1915 } 1916 } 1917 }, 1918 "loc": { 1919 "start": { 1920 "line": 22, 1921 "column": 1 1922 }, 1923 "end": { 1924 "line": 22, 1925 "column": 21 1926 } 1927 } 1928 }, 1929 "loc": { 1930 "start": { 1931 "line": 22, 1932 "column": 1 1933 }, 1934 "end": { 1935 "line": 22, 1936 "column": 21 1937 } 1938 } 1939 }, 1940 { 1941 "type": "ExpressionStatement", 1942 "expression": { 1943 "type": "AssignmentExpression", 1944 "operator": "=", 1945 "left": { 1946 "type": "Identifier", 1947 "name": "c1", 1948 "decorators": [], 1949 "loc": { 1950 "start": { 1951 "line": 31, 1952 "column": 5 1953 }, 1954 "end": { 1955 "line": 31, 1956 "column": 7 1957 } 1958 } 1959 }, 1960 "right": { 1961 "type": "ETSNewClassInstanceExpression", 1962 "typeReference": { 1963 "type": "ETSTypeReference", 1964 "part": { 1965 "type": "ETSTypeReferencePart", 1966 "name": { 1967 "type": "Identifier", 1968 "name": "C2", 1969 "decorators": [], 1970 "loc": { 1971 "start": { 1972 "line": 31, 1973 "column": 14 1974 }, 1975 "end": { 1976 "line": 31, 1977 "column": 16 1978 } 1979 } 1980 }, 1981 "typeParams": { 1982 "type": "TSTypeParameterInstantiation", 1983 "params": [ 1984 { 1985 "type": "ETSTypeReference", 1986 "part": { 1987 "type": "ETSTypeReferencePart", 1988 "name": { 1989 "type": "Identifier", 1990 "name": "number", 1991 "decorators": [], 1992 "loc": { 1993 "start": { 1994 "line": 31, 1995 "column": 17 1996 }, 1997 "end": { 1998 "line": 31, 1999 "column": 23 2000 } 2001 } 2002 }, 2003 "loc": { 2004 "start": { 2005 "line": 31, 2006 "column": 17 2007 }, 2008 "end": { 2009 "line": 31, 2010 "column": 24 2011 } 2012 } 2013 }, 2014 "loc": { 2015 "start": { 2016 "line": 31, 2017 "column": 17 2018 }, 2019 "end": { 2020 "line": 31, 2021 "column": 24 2022 } 2023 } 2024 } 2025 ], 2026 "loc": { 2027 "start": { 2028 "line": 31, 2029 "column": 16 2030 }, 2031 "end": { 2032 "line": 31, 2033 "column": 24 2034 } 2035 } 2036 }, 2037 "loc": { 2038 "start": { 2039 "line": 31, 2040 "column": 14 2041 }, 2042 "end": { 2043 "line": 32, 2044 "column": 4 2045 } 2046 } 2047 }, 2048 "loc": { 2049 "start": { 2050 "line": 31, 2051 "column": 14 2052 }, 2053 "end": { 2054 "line": 32, 2055 "column": 4 2056 } 2057 } 2058 }, 2059 "arguments": [], 2060 "loc": { 2061 "start": { 2062 "line": 31, 2063 "column": 10 2064 }, 2065 "end": { 2066 "line": 32, 2067 "column": 4 2068 } 2069 } 2070 }, 2071 "loc": { 2072 "start": { 2073 "line": 31, 2074 "column": 5 2075 }, 2076 "end": { 2077 "line": 32, 2078 "column": 4 2079 } 2080 } 2081 }, 2082 "loc": { 2083 "start": { 2084 "line": 31, 2085 "column": 5 2086 }, 2087 "end": { 2088 "line": 32, 2089 "column": 4 2090 } 2091 } 2092 }, 2093 { 2094 "type": "ExpressionStatement", 2095 "expression": { 2096 "type": "AssignmentExpression", 2097 "operator": "=", 2098 "left": { 2099 "type": "Identifier", 2100 "name": "c2", 2101 "decorators": [], 2102 "loc": { 2103 "start": { 2104 "line": 32, 2105 "column": 5 2106 }, 2107 "end": { 2108 "line": 32, 2109 "column": 7 2110 } 2111 } 2112 }, 2113 "right": { 2114 "type": "ETSNewClassInstanceExpression", 2115 "typeReference": { 2116 "type": "ETSTypeReference", 2117 "part": { 2118 "type": "ETSTypeReferencePart", 2119 "name": { 2120 "type": "Identifier", 2121 "name": "C2", 2122 "decorators": [], 2123 "loc": { 2124 "start": { 2125 "line": 32, 2126 "column": 14 2127 }, 2128 "end": { 2129 "line": 32, 2130 "column": 16 2131 } 2132 } 2133 }, 2134 "typeParams": { 2135 "type": "TSTypeParameterInstantiation", 2136 "params": [ 2137 { 2138 "type": "ETSTypeReference", 2139 "part": { 2140 "type": "ETSTypeReferencePart", 2141 "name": { 2142 "type": "Identifier", 2143 "name": "number", 2144 "decorators": [], 2145 "loc": { 2146 "start": { 2147 "line": 32, 2148 "column": 17 2149 }, 2150 "end": { 2151 "line": 32, 2152 "column": 23 2153 } 2154 } 2155 }, 2156 "loc": { 2157 "start": { 2158 "line": 32, 2159 "column": 17 2160 }, 2161 "end": { 2162 "line": 32, 2163 "column": 24 2164 } 2165 } 2166 }, 2167 "loc": { 2168 "start": { 2169 "line": 32, 2170 "column": 17 2171 }, 2172 "end": { 2173 "line": 32, 2174 "column": 24 2175 } 2176 } 2177 }, 2178 { 2179 "type": "ETSTypeReference", 2180 "part": { 2181 "type": "ETSTypeReferencePart", 2182 "name": { 2183 "type": "Identifier", 2184 "name": "string", 2185 "decorators": [], 2186 "loc": { 2187 "start": { 2188 "line": 32, 2189 "column": 25 2190 }, 2191 "end": { 2192 "line": 32, 2193 "column": 31 2194 } 2195 } 2196 }, 2197 "loc": { 2198 "start": { 2199 "line": 32, 2200 "column": 25 2201 }, 2202 "end": { 2203 "line": 32, 2204 "column": 32 2205 } 2206 } 2207 }, 2208 "loc": { 2209 "start": { 2210 "line": 32, 2211 "column": 25 2212 }, 2213 "end": { 2214 "line": 32, 2215 "column": 32 2216 } 2217 } 2218 } 2219 ], 2220 "loc": { 2221 "start": { 2222 "line": 32, 2223 "column": 16 2224 }, 2225 "end": { 2226 "line": 32, 2227 "column": 32 2228 } 2229 } 2230 }, 2231 "loc": { 2232 "start": { 2233 "line": 32, 2234 "column": 14 2235 }, 2236 "end": { 2237 "line": 33, 2238 "column": 4 2239 } 2240 } 2241 }, 2242 "loc": { 2243 "start": { 2244 "line": 32, 2245 "column": 14 2246 }, 2247 "end": { 2248 "line": 33, 2249 "column": 4 2250 } 2251 } 2252 }, 2253 "arguments": [], 2254 "loc": { 2255 "start": { 2256 "line": 32, 2257 "column": 10 2258 }, 2259 "end": { 2260 "line": 33, 2261 "column": 4 2262 } 2263 } 2264 }, 2265 "loc": { 2266 "start": { 2267 "line": 32, 2268 "column": 5 2269 }, 2270 "end": { 2271 "line": 33, 2272 "column": 4 2273 } 2274 } 2275 }, 2276 "loc": { 2277 "start": { 2278 "line": 32, 2279 "column": 5 2280 }, 2281 "end": { 2282 "line": 33, 2283 "column": 4 2284 } 2285 } 2286 }, 2287 { 2288 "type": "ExpressionStatement", 2289 "expression": { 2290 "type": "AssignmentExpression", 2291 "operator": "=", 2292 "left": { 2293 "type": "Identifier", 2294 "name": "c3", 2295 "decorators": [], 2296 "loc": { 2297 "start": { 2298 "line": 33, 2299 "column": 5 2300 }, 2301 "end": { 2302 "line": 33, 2303 "column": 7 2304 } 2305 } 2306 }, 2307 "right": { 2308 "type": "ETSNewClassInstanceExpression", 2309 "typeReference": { 2310 "type": "ETSTypeReference", 2311 "part": { 2312 "type": "ETSTypeReferencePart", 2313 "name": { 2314 "type": "Identifier", 2315 "name": "C2", 2316 "decorators": [], 2317 "loc": { 2318 "start": { 2319 "line": 33, 2320 "column": 14 2321 }, 2322 "end": { 2323 "line": 33, 2324 "column": 16 2325 } 2326 } 2327 }, 2328 "typeParams": { 2329 "type": "TSTypeParameterInstantiation", 2330 "params": [ 2331 { 2332 "type": "ETSTypeReference", 2333 "part": { 2334 "type": "ETSTypeReferencePart", 2335 "name": { 2336 "type": "Identifier", 2337 "name": "number", 2338 "decorators": [], 2339 "loc": { 2340 "start": { 2341 "line": 33, 2342 "column": 17 2343 }, 2344 "end": { 2345 "line": 33, 2346 "column": 23 2347 } 2348 } 2349 }, 2350 "loc": { 2351 "start": { 2352 "line": 33, 2353 "column": 17 2354 }, 2355 "end": { 2356 "line": 33, 2357 "column": 24 2358 } 2359 } 2360 }, 2361 "loc": { 2362 "start": { 2363 "line": 33, 2364 "column": 17 2365 }, 2366 "end": { 2367 "line": 33, 2368 "column": 24 2369 } 2370 } 2371 }, 2372 { 2373 "type": "ETSTypeReference", 2374 "part": { 2375 "type": "ETSTypeReferencePart", 2376 "name": { 2377 "type": "Identifier", 2378 "name": "Object", 2379 "decorators": [], 2380 "loc": { 2381 "start": { 2382 "line": 33, 2383 "column": 25 2384 }, 2385 "end": { 2386 "line": 33, 2387 "column": 31 2388 } 2389 } 2390 }, 2391 "loc": { 2392 "start": { 2393 "line": 33, 2394 "column": 25 2395 }, 2396 "end": { 2397 "line": 33, 2398 "column": 32 2399 } 2400 } 2401 }, 2402 "loc": { 2403 "start": { 2404 "line": 33, 2405 "column": 25 2406 }, 2407 "end": { 2408 "line": 33, 2409 "column": 32 2410 } 2411 } 2412 }, 2413 { 2414 "type": "ETSTypeReference", 2415 "part": { 2416 "type": "ETSTypeReferencePart", 2417 "name": { 2418 "type": "Identifier", 2419 "name": "number", 2420 "decorators": [], 2421 "loc": { 2422 "start": { 2423 "line": 33, 2424 "column": 33 2425 }, 2426 "end": { 2427 "line": 33, 2428 "column": 39 2429 } 2430 } 2431 }, 2432 "loc": { 2433 "start": { 2434 "line": 33, 2435 "column": 33 2436 }, 2437 "end": { 2438 "line": 33, 2439 "column": 40 2440 } 2441 } 2442 }, 2443 "loc": { 2444 "start": { 2445 "line": 33, 2446 "column": 33 2447 }, 2448 "end": { 2449 "line": 33, 2450 "column": 40 2451 } 2452 } 2453 } 2454 ], 2455 "loc": { 2456 "start": { 2457 "line": 33, 2458 "column": 16 2459 }, 2460 "end": { 2461 "line": 33, 2462 "column": 40 2463 } 2464 } 2465 }, 2466 "loc": { 2467 "start": { 2468 "line": 33, 2469 "column": 14 2470 }, 2471 "end": { 2472 "line": 34, 2473 "column": 1 2474 } 2475 } 2476 }, 2477 "loc": { 2478 "start": { 2479 "line": 33, 2480 "column": 14 2481 }, 2482 "end": { 2483 "line": 34, 2484 "column": 1 2485 } 2486 } 2487 }, 2488 "arguments": [], 2489 "loc": { 2490 "start": { 2491 "line": 33, 2492 "column": 10 2493 }, 2494 "end": { 2495 "line": 34, 2496 "column": 1 2497 } 2498 } 2499 }, 2500 "loc": { 2501 "start": { 2502 "line": 33, 2503 "column": 5 2504 }, 2505 "end": { 2506 "line": 34, 2507 "column": 1 2508 } 2509 } 2510 }, 2511 "loc": { 2512 "start": { 2513 "line": 33, 2514 "column": 5 2515 }, 2516 "end": { 2517 "line": 34, 2518 "column": 1 2519 } 2520 } 2521 } 2522 ], 2523 "loc": { 2524 "start": { 2525 "line": 1, 2526 "column": 1 2527 }, 2528 "end": { 2529 "line": 1, 2530 "column": 1 2531 } 2532 } 2533 }, 2534 "loc": { 2535 "start": { 2536 "line": 1, 2537 "column": 1 2538 }, 2539 "end": { 2540 "line": 1, 2541 "column": 1 2542 } 2543 } 2544 }, 2545 "loc": { 2546 "start": { 2547 "line": 1, 2548 "column": 1 2549 }, 2550 "end": { 2551 "line": 1, 2552 "column": 1 2553 } 2554 } 2555 }, 2556 "overloads": [], 2557 "decorators": [], 2558 "loc": { 2559 "start": { 2560 "line": 1, 2561 "column": 1 2562 }, 2563 "end": { 2564 "line": 1, 2565 "column": 1 2566 } 2567 } 2568 }, 2569 { 2570 "type": "MethodDefinition", 2571 "key": { 2572 "type": "Identifier", 2573 "name": "alma", 2574 "decorators": [], 2575 "loc": { 2576 "start": { 2577 "line": 16, 2578 "column": 10 2579 }, 2580 "end": { 2581 "line": 16, 2582 "column": 14 2583 } 2584 } 2585 }, 2586 "kind": "method", 2587 "accessibility": "public", 2588 "static": true, 2589 "optional": false, 2590 "computed": false, 2591 "value": { 2592 "type": "FunctionExpression", 2593 "function": { 2594 "type": "ScriptFunction", 2595 "id": { 2596 "type": "Identifier", 2597 "name": "alma", 2598 "decorators": [], 2599 "loc": { 2600 "start": { 2601 "line": 16, 2602 "column": 10 2603 }, 2604 "end": { 2605 "line": 16, 2606 "column": 14 2607 } 2608 } 2609 }, 2610 "generator": false, 2611 "async": false, 2612 "expression": false, 2613 "params": [ 2614 { 2615 "type": "ETSParameterExpression", 2616 "name": { 2617 "type": "Identifier", 2618 "name": "param", 2619 "typeAnnotation": { 2620 "type": "ETSTypeReference", 2621 "part": { 2622 "type": "ETSTypeReferencePart", 2623 "name": { 2624 "type": "Identifier", 2625 "name": "T", 2626 "decorators": [], 2627 "loc": { 2628 "start": { 2629 "line": 16, 2630 "column": 35 2631 }, 2632 "end": { 2633 "line": 16, 2634 "column": 36 2635 } 2636 } 2637 }, 2638 "loc": { 2639 "start": { 2640 "line": 16, 2641 "column": 35 2642 }, 2643 "end": { 2644 "line": 16, 2645 "column": 37 2646 } 2647 } 2648 }, 2649 "loc": { 2650 "start": { 2651 "line": 16, 2652 "column": 35 2653 }, 2654 "end": { 2655 "line": 16, 2656 "column": 37 2657 } 2658 } 2659 }, 2660 "decorators": [], 2661 "loc": { 2662 "start": { 2663 "line": 16, 2664 "column": 27 2665 }, 2666 "end": { 2667 "line": 16, 2668 "column": 37 2669 } 2670 } 2671 }, 2672 "loc": { 2673 "start": { 2674 "line": 16, 2675 "column": 27 2676 }, 2677 "end": { 2678 "line": 16, 2679 "column": 37 2680 } 2681 } 2682 } 2683 ], 2684 "returnType": { 2685 "type": "ETSTypeReference", 2686 "part": { 2687 "type": "ETSTypeReferencePart", 2688 "name": { 2689 "type": "Identifier", 2690 "name": "T", 2691 "decorators": [], 2692 "loc": { 2693 "start": { 2694 "line": 16, 2695 "column": 39 2696 }, 2697 "end": { 2698 "line": 16, 2699 "column": 40 2700 } 2701 } 2702 }, 2703 "loc": { 2704 "start": { 2705 "line": 16, 2706 "column": 39 2707 }, 2708 "end": { 2709 "line": 16, 2710 "column": 42 2711 } 2712 } 2713 }, 2714 "loc": { 2715 "start": { 2716 "line": 16, 2717 "column": 39 2718 }, 2719 "end": { 2720 "line": 16, 2721 "column": 42 2722 } 2723 } 2724 }, 2725 "typeParameters": { 2726 "type": "TSTypeParameterDeclaration", 2727 "params": [ 2728 { 2729 "type": "TSTypeParameter", 2730 "name": { 2731 "type": "Identifier", 2732 "name": "T", 2733 "decorators": [], 2734 "loc": { 2735 "start": { 2736 "line": 16, 2737 "column": 15 2738 }, 2739 "end": { 2740 "line": 16, 2741 "column": 16 2742 } 2743 } 2744 }, 2745 "default": { 2746 "type": "ETSTypeReference", 2747 "part": { 2748 "type": "ETSTypeReferencePart", 2749 "name": { 2750 "type": "Identifier", 2751 "name": "number", 2752 "decorators": [], 2753 "loc": { 2754 "start": { 2755 "line": 16, 2756 "column": 19 2757 }, 2758 "end": { 2759 "line": 16, 2760 "column": 25 2761 } 2762 } 2763 }, 2764 "loc": { 2765 "start": { 2766 "line": 16, 2767 "column": 19 2768 }, 2769 "end": { 2770 "line": 16, 2771 "column": 26 2772 } 2773 } 2774 }, 2775 "loc": { 2776 "start": { 2777 "line": 16, 2778 "column": 19 2779 }, 2780 "end": { 2781 "line": 16, 2782 "column": 26 2783 } 2784 } 2785 }, 2786 "loc": { 2787 "start": { 2788 "line": 16, 2789 "column": 15 2790 }, 2791 "end": { 2792 "line": 16, 2793 "column": 26 2794 } 2795 } 2796 } 2797 ], 2798 "loc": { 2799 "start": { 2800 "line": 16, 2801 "column": 14 2802 }, 2803 "end": { 2804 "line": 16, 2805 "column": 26 2806 } 2807 } 2808 }, 2809 "body": { 2810 "type": "BlockStatement", 2811 "statements": [ 2812 { 2813 "type": "ReturnStatement", 2814 "argument": { 2815 "type": "Identifier", 2816 "name": "param", 2817 "decorators": [], 2818 "loc": { 2819 "start": { 2820 "line": 17, 2821 "column": 12 2822 }, 2823 "end": { 2824 "line": 17, 2825 "column": 17 2826 } 2827 } 2828 }, 2829 "loc": { 2830 "start": { 2831 "line": 17, 2832 "column": 5 2833 }, 2834 "end": { 2835 "line": 17, 2836 "column": 17 2837 } 2838 } 2839 } 2840 ], 2841 "loc": { 2842 "start": { 2843 "line": 16, 2844 "column": 41 2845 }, 2846 "end": { 2847 "line": 18, 2848 "column": 2 2849 } 2850 } 2851 }, 2852 "loc": { 2853 "start": { 2854 "line": 16, 2855 "column": 14 2856 }, 2857 "end": { 2858 "line": 18, 2859 "column": 2 2860 } 2861 } 2862 }, 2863 "loc": { 2864 "start": { 2865 "line": 16, 2866 "column": 14 2867 }, 2868 "end": { 2869 "line": 18, 2870 "column": 2 2871 } 2872 } 2873 }, 2874 "overloads": [], 2875 "decorators": [], 2876 "loc": { 2877 "start": { 2878 "line": 16, 2879 "column": 1 2880 }, 2881 "end": { 2882 "line": 18, 2883 "column": 2 2884 } 2885 } 2886 }, 2887 { 2888 "type": "ClassProperty", 2889 "key": { 2890 "type": "Identifier", 2891 "name": "c1", 2892 "decorators": [], 2893 "loc": { 2894 "start": { 2895 "line": 31, 2896 "column": 5 2897 }, 2898 "end": { 2899 "line": 31, 2900 "column": 7 2901 } 2902 } 2903 }, 2904 "value": { 2905 "type": "ETSNewClassInstanceExpression", 2906 "typeReference": { 2907 "type": "ETSTypeReference", 2908 "part": { 2909 "type": "ETSTypeReferencePart", 2910 "name": { 2911 "type": "Identifier", 2912 "name": "C2", 2913 "decorators": [], 2914 "loc": { 2915 "start": { 2916 "line": 31, 2917 "column": 14 2918 }, 2919 "end": { 2920 "line": 31, 2921 "column": 16 2922 } 2923 } 2924 }, 2925 "typeParams": { 2926 "type": "TSTypeParameterInstantiation", 2927 "params": [ 2928 { 2929 "type": "ETSTypeReference", 2930 "part": { 2931 "type": "ETSTypeReferencePart", 2932 "name": { 2933 "type": "Identifier", 2934 "name": "number", 2935 "decorators": [], 2936 "loc": { 2937 "start": { 2938 "line": 31, 2939 "column": 17 2940 }, 2941 "end": { 2942 "line": 31, 2943 "column": 23 2944 } 2945 } 2946 }, 2947 "loc": { 2948 "start": { 2949 "line": 31, 2950 "column": 17 2951 }, 2952 "end": { 2953 "line": 31, 2954 "column": 24 2955 } 2956 } 2957 }, 2958 "loc": { 2959 "start": { 2960 "line": 31, 2961 "column": 17 2962 }, 2963 "end": { 2964 "line": 31, 2965 "column": 24 2966 } 2967 } 2968 } 2969 ], 2970 "loc": { 2971 "start": { 2972 "line": 31, 2973 "column": 16 2974 }, 2975 "end": { 2976 "line": 31, 2977 "column": 24 2978 } 2979 } 2980 }, 2981 "loc": { 2982 "start": { 2983 "line": 31, 2984 "column": 14 2985 }, 2986 "end": { 2987 "line": 32, 2988 "column": 4 2989 } 2990 } 2991 }, 2992 "loc": { 2993 "start": { 2994 "line": 31, 2995 "column": 14 2996 }, 2997 "end": { 2998 "line": 32, 2999 "column": 4 3000 } 3001 } 3002 }, 3003 "arguments": [], 3004 "loc": { 3005 "start": { 3006 "line": 31, 3007 "column": 10 3008 }, 3009 "end": { 3010 "line": 32, 3011 "column": 4 3012 } 3013 } 3014 }, 3015 "accessibility": "public", 3016 "static": true, 3017 "readonly": false, 3018 "declare": false, 3019 "optional": false, 3020 "computed": false, 3021 "definite": false, 3022 "decorators": [], 3023 "loc": { 3024 "start": { 3025 "line": 31, 3026 "column": 5 3027 }, 3028 "end": { 3029 "line": 32, 3030 "column": 4 3031 } 3032 } 3033 }, 3034 { 3035 "type": "ClassProperty", 3036 "key": { 3037 "type": "Identifier", 3038 "name": "c2", 3039 "decorators": [], 3040 "loc": { 3041 "start": { 3042 "line": 32, 3043 "column": 5 3044 }, 3045 "end": { 3046 "line": 32, 3047 "column": 7 3048 } 3049 } 3050 }, 3051 "value": { 3052 "type": "ETSNewClassInstanceExpression", 3053 "typeReference": { 3054 "type": "ETSTypeReference", 3055 "part": { 3056 "type": "ETSTypeReferencePart", 3057 "name": { 3058 "type": "Identifier", 3059 "name": "C2", 3060 "decorators": [], 3061 "loc": { 3062 "start": { 3063 "line": 32, 3064 "column": 14 3065 }, 3066 "end": { 3067 "line": 32, 3068 "column": 16 3069 } 3070 } 3071 }, 3072 "typeParams": { 3073 "type": "TSTypeParameterInstantiation", 3074 "params": [ 3075 { 3076 "type": "ETSTypeReference", 3077 "part": { 3078 "type": "ETSTypeReferencePart", 3079 "name": { 3080 "type": "Identifier", 3081 "name": "number", 3082 "decorators": [], 3083 "loc": { 3084 "start": { 3085 "line": 32, 3086 "column": 17 3087 }, 3088 "end": { 3089 "line": 32, 3090 "column": 23 3091 } 3092 } 3093 }, 3094 "loc": { 3095 "start": { 3096 "line": 32, 3097 "column": 17 3098 }, 3099 "end": { 3100 "line": 32, 3101 "column": 24 3102 } 3103 } 3104 }, 3105 "loc": { 3106 "start": { 3107 "line": 32, 3108 "column": 17 3109 }, 3110 "end": { 3111 "line": 32, 3112 "column": 24 3113 } 3114 } 3115 }, 3116 { 3117 "type": "ETSTypeReference", 3118 "part": { 3119 "type": "ETSTypeReferencePart", 3120 "name": { 3121 "type": "Identifier", 3122 "name": "string", 3123 "decorators": [], 3124 "loc": { 3125 "start": { 3126 "line": 32, 3127 "column": 25 3128 }, 3129 "end": { 3130 "line": 32, 3131 "column": 31 3132 } 3133 } 3134 }, 3135 "loc": { 3136 "start": { 3137 "line": 32, 3138 "column": 25 3139 }, 3140 "end": { 3141 "line": 32, 3142 "column": 32 3143 } 3144 } 3145 }, 3146 "loc": { 3147 "start": { 3148 "line": 32, 3149 "column": 25 3150 }, 3151 "end": { 3152 "line": 32, 3153 "column": 32 3154 } 3155 } 3156 } 3157 ], 3158 "loc": { 3159 "start": { 3160 "line": 32, 3161 "column": 16 3162 }, 3163 "end": { 3164 "line": 32, 3165 "column": 32 3166 } 3167 } 3168 }, 3169 "loc": { 3170 "start": { 3171 "line": 32, 3172 "column": 14 3173 }, 3174 "end": { 3175 "line": 33, 3176 "column": 4 3177 } 3178 } 3179 }, 3180 "loc": { 3181 "start": { 3182 "line": 32, 3183 "column": 14 3184 }, 3185 "end": { 3186 "line": 33, 3187 "column": 4 3188 } 3189 } 3190 }, 3191 "arguments": [], 3192 "loc": { 3193 "start": { 3194 "line": 32, 3195 "column": 10 3196 }, 3197 "end": { 3198 "line": 33, 3199 "column": 4 3200 } 3201 } 3202 }, 3203 "accessibility": "public", 3204 "static": true, 3205 "readonly": false, 3206 "declare": false, 3207 "optional": false, 3208 "computed": false, 3209 "definite": false, 3210 "decorators": [], 3211 "loc": { 3212 "start": { 3213 "line": 32, 3214 "column": 5 3215 }, 3216 "end": { 3217 "line": 33, 3218 "column": 4 3219 } 3220 } 3221 }, 3222 { 3223 "type": "ClassProperty", 3224 "key": { 3225 "type": "Identifier", 3226 "name": "c3", 3227 "decorators": [], 3228 "loc": { 3229 "start": { 3230 "line": 33, 3231 "column": 5 3232 }, 3233 "end": { 3234 "line": 33, 3235 "column": 7 3236 } 3237 } 3238 }, 3239 "value": { 3240 "type": "ETSNewClassInstanceExpression", 3241 "typeReference": { 3242 "type": "ETSTypeReference", 3243 "part": { 3244 "type": "ETSTypeReferencePart", 3245 "name": { 3246 "type": "Identifier", 3247 "name": "C2", 3248 "decorators": [], 3249 "loc": { 3250 "start": { 3251 "line": 33, 3252 "column": 14 3253 }, 3254 "end": { 3255 "line": 33, 3256 "column": 16 3257 } 3258 } 3259 }, 3260 "typeParams": { 3261 "type": "TSTypeParameterInstantiation", 3262 "params": [ 3263 { 3264 "type": "ETSTypeReference", 3265 "part": { 3266 "type": "ETSTypeReferencePart", 3267 "name": { 3268 "type": "Identifier", 3269 "name": "number", 3270 "decorators": [], 3271 "loc": { 3272 "start": { 3273 "line": 33, 3274 "column": 17 3275 }, 3276 "end": { 3277 "line": 33, 3278 "column": 23 3279 } 3280 } 3281 }, 3282 "loc": { 3283 "start": { 3284 "line": 33, 3285 "column": 17 3286 }, 3287 "end": { 3288 "line": 33, 3289 "column": 24 3290 } 3291 } 3292 }, 3293 "loc": { 3294 "start": { 3295 "line": 33, 3296 "column": 17 3297 }, 3298 "end": { 3299 "line": 33, 3300 "column": 24 3301 } 3302 } 3303 }, 3304 { 3305 "type": "ETSTypeReference", 3306 "part": { 3307 "type": "ETSTypeReferencePart", 3308 "name": { 3309 "type": "Identifier", 3310 "name": "Object", 3311 "decorators": [], 3312 "loc": { 3313 "start": { 3314 "line": 33, 3315 "column": 25 3316 }, 3317 "end": { 3318 "line": 33, 3319 "column": 31 3320 } 3321 } 3322 }, 3323 "loc": { 3324 "start": { 3325 "line": 33, 3326 "column": 25 3327 }, 3328 "end": { 3329 "line": 33, 3330 "column": 32 3331 } 3332 } 3333 }, 3334 "loc": { 3335 "start": { 3336 "line": 33, 3337 "column": 25 3338 }, 3339 "end": { 3340 "line": 33, 3341 "column": 32 3342 } 3343 } 3344 }, 3345 { 3346 "type": "ETSTypeReference", 3347 "part": { 3348 "type": "ETSTypeReferencePart", 3349 "name": { 3350 "type": "Identifier", 3351 "name": "number", 3352 "decorators": [], 3353 "loc": { 3354 "start": { 3355 "line": 33, 3356 "column": 33 3357 }, 3358 "end": { 3359 "line": 33, 3360 "column": 39 3361 } 3362 } 3363 }, 3364 "loc": { 3365 "start": { 3366 "line": 33, 3367 "column": 33 3368 }, 3369 "end": { 3370 "line": 33, 3371 "column": 40 3372 } 3373 } 3374 }, 3375 "loc": { 3376 "start": { 3377 "line": 33, 3378 "column": 33 3379 }, 3380 "end": { 3381 "line": 33, 3382 "column": 40 3383 } 3384 } 3385 } 3386 ], 3387 "loc": { 3388 "start": { 3389 "line": 33, 3390 "column": 16 3391 }, 3392 "end": { 3393 "line": 33, 3394 "column": 40 3395 } 3396 } 3397 }, 3398 "loc": { 3399 "start": { 3400 "line": 33, 3401 "column": 14 3402 }, 3403 "end": { 3404 "line": 34, 3405 "column": 1 3406 } 3407 } 3408 }, 3409 "loc": { 3410 "start": { 3411 "line": 33, 3412 "column": 14 3413 }, 3414 "end": { 3415 "line": 34, 3416 "column": 1 3417 } 3418 } 3419 }, 3420 "arguments": [], 3421 "loc": { 3422 "start": { 3423 "line": 33, 3424 "column": 10 3425 }, 3426 "end": { 3427 "line": 34, 3428 "column": 1 3429 } 3430 } 3431 }, 3432 "accessibility": "public", 3433 "static": true, 3434 "readonly": false, 3435 "declare": false, 3436 "optional": false, 3437 "computed": false, 3438 "definite": false, 3439 "decorators": [], 3440 "loc": { 3441 "start": { 3442 "line": 33, 3443 "column": 5 3444 }, 3445 "end": { 3446 "line": 34, 3447 "column": 1 3448 } 3449 } 3450 } 3451 ], 3452 "loc": { 3453 "start": { 3454 "line": 1, 3455 "column": 1 3456 }, 3457 "end": { 3458 "line": 1, 3459 "column": 1 3460 } 3461 } 3462 }, 3463 "loc": { 3464 "start": { 3465 "line": 1, 3466 "column": 1 3467 }, 3468 "end": { 3469 "line": 1, 3470 "column": 1 3471 } 3472 } 3473 } 3474 ], 3475 "loc": { 3476 "start": { 3477 "line": 1, 3478 "column": 1 3479 }, 3480 "end": { 3481 "line": 34, 3482 "column": 1 3483 } 3484 } 3485} 3486