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": "B", 147 "decorators": [], 148 "loc": { 149 "start": { 150 "line": 17, 151 "column": 7 152 }, 153 "end": { 154 "line": 17, 155 "column": 8 156 } 157 } 158 }, 159 "superClass": { 160 "type": "ETSTypeReference", 161 "part": { 162 "type": "ETSTypeReferencePart", 163 "name": { 164 "type": "Identifier", 165 "name": "A", 166 "decorators": [], 167 "loc": { 168 "start": { 169 "line": 17, 170 "column": 17 171 }, 172 "end": { 173 "line": 17, 174 "column": 18 175 } 176 } 177 }, 178 "loc": { 179 "start": { 180 "line": 17, 181 "column": 17 182 }, 183 "end": { 184 "line": 17, 185 "column": 20 186 } 187 } 188 }, 189 "loc": { 190 "start": { 191 "line": 17, 192 "column": 17 193 }, 194 "end": { 195 "line": 17, 196 "column": 20 197 } 198 } 199 }, 200 "implements": [], 201 "body": [ 202 { 203 "type": "MethodDefinition", 204 "key": { 205 "type": "Identifier", 206 "name": "constructor", 207 "decorators": [], 208 "loc": { 209 "start": { 210 "line": 1, 211 "column": 1 212 }, 213 "end": { 214 "line": 1, 215 "column": 1 216 } 217 } 218 }, 219 "kind": "constructor", 220 "static": false, 221 "optional": false, 222 "computed": false, 223 "value": { 224 "type": "FunctionExpression", 225 "function": { 226 "type": "ScriptFunction", 227 "id": { 228 "type": "Identifier", 229 "name": "constructor", 230 "decorators": [], 231 "loc": { 232 "start": { 233 "line": 1, 234 "column": 1 235 }, 236 "end": { 237 "line": 1, 238 "column": 1 239 } 240 } 241 }, 242 "generator": false, 243 "async": false, 244 "expression": false, 245 "params": [], 246 "body": { 247 "type": "BlockStatement", 248 "statements": [], 249 "loc": { 250 "start": { 251 "line": 1, 252 "column": 1 253 }, 254 "end": { 255 "line": 1, 256 "column": 1 257 } 258 } 259 }, 260 "loc": { 261 "start": { 262 "line": 1, 263 "column": 1 264 }, 265 "end": { 266 "line": 1, 267 "column": 1 268 } 269 } 270 }, 271 "loc": { 272 "start": { 273 "line": 1, 274 "column": 1 275 }, 276 "end": { 277 "line": 1, 278 "column": 1 279 } 280 } 281 }, 282 "overloads": [], 283 "decorators": [], 284 "loc": { 285 "start": { 286 "line": 17, 287 "column": 21 288 }, 289 "end": { 290 "line": 17, 291 "column": 21 292 } 293 } 294 } 295 ], 296 "loc": { 297 "start": { 298 "line": 17, 299 "column": 19 300 }, 301 "end": { 302 "line": 17, 303 "column": 21 304 } 305 } 306 }, 307 "loc": { 308 "start": { 309 "line": 17, 310 "column": 1 311 }, 312 "end": { 313 "line": 17, 314 "column": 21 315 } 316 } 317 }, 318 { 319 "type": "ClassDeclaration", 320 "definition": { 321 "id": { 322 "type": "Identifier", 323 "name": "A1", 324 "decorators": [], 325 "loc": { 326 "start": { 327 "line": 19, 328 "column": 7 329 }, 330 "end": { 331 "line": 19, 332 "column": 9 333 } 334 } 335 }, 336 "typeParameters": { 337 "type": "TSTypeParameterDeclaration", 338 "params": [ 339 { 340 "type": "TSTypeParameter", 341 "name": { 342 "type": "Identifier", 343 "name": "T", 344 "decorators": [], 345 "loc": { 346 "start": { 347 "line": 19, 348 "column": 13 349 }, 350 "end": { 351 "line": 19, 352 "column": 14 353 } 354 } 355 }, 356 "in": true, 357 "loc": { 358 "start": { 359 "line": 19, 360 "column": 10 361 }, 362 "end": { 363 "line": 19, 364 "column": 15 365 } 366 } 367 } 368 ], 369 "loc": { 370 "start": { 371 "line": 19, 372 "column": 9 373 }, 374 "end": { 375 "line": 19, 376 "column": 15 377 } 378 } 379 }, 380 "superClass": null, 381 "implements": [], 382 "body": [ 383 { 384 "type": "MethodDefinition", 385 "key": { 386 "type": "Identifier", 387 "name": "constructor", 388 "decorators": [], 389 "loc": { 390 "start": { 391 "line": 1, 392 "column": 1 393 }, 394 "end": { 395 "line": 1, 396 "column": 1 397 } 398 } 399 }, 400 "kind": "constructor", 401 "static": false, 402 "optional": false, 403 "computed": false, 404 "value": { 405 "type": "FunctionExpression", 406 "function": { 407 "type": "ScriptFunction", 408 "id": { 409 "type": "Identifier", 410 "name": "constructor", 411 "decorators": [], 412 "loc": { 413 "start": { 414 "line": 1, 415 "column": 1 416 }, 417 "end": { 418 "line": 1, 419 "column": 1 420 } 421 } 422 }, 423 "generator": false, 424 "async": false, 425 "expression": false, 426 "params": [], 427 "body": { 428 "type": "BlockStatement", 429 "statements": [], 430 "loc": { 431 "start": { 432 "line": 1, 433 "column": 1 434 }, 435 "end": { 436 "line": 1, 437 "column": 1 438 } 439 } 440 }, 441 "loc": { 442 "start": { 443 "line": 1, 444 "column": 1 445 }, 446 "end": { 447 "line": 1, 448 "column": 1 449 } 450 } 451 }, 452 "loc": { 453 "start": { 454 "line": 1, 455 "column": 1 456 }, 457 "end": { 458 "line": 1, 459 "column": 1 460 } 461 } 462 }, 463 "overloads": [], 464 "decorators": [], 465 "loc": { 466 "start": { 467 "line": 19, 468 "column": 18 469 }, 470 "end": { 471 "line": 19, 472 "column": 18 473 } 474 } 475 } 476 ], 477 "loc": { 478 "start": { 479 "line": 19, 480 "column": 16 481 }, 482 "end": { 483 "line": 19, 484 "column": 18 485 } 486 } 487 }, 488 "loc": { 489 "start": { 490 "line": 19, 491 "column": 1 492 }, 493 "end": { 494 "line": 19, 495 "column": 18 496 } 497 } 498 }, 499 { 500 "type": "ClassDeclaration", 501 "definition": { 502 "id": { 503 "type": "Identifier", 504 "name": "A2", 505 "decorators": [], 506 "loc": { 507 "start": { 508 "line": 20, 509 "column": 7 510 }, 511 "end": { 512 "line": 20, 513 "column": 9 514 } 515 } 516 }, 517 "typeParameters": { 518 "type": "TSTypeParameterDeclaration", 519 "params": [ 520 { 521 "type": "TSTypeParameter", 522 "name": { 523 "type": "Identifier", 524 "name": "T", 525 "decorators": [], 526 "loc": { 527 "start": { 528 "line": 20, 529 "column": 14 530 }, 531 "end": { 532 "line": 20, 533 "column": 15 534 } 535 } 536 }, 537 "out": true, 538 "loc": { 539 "start": { 540 "line": 20, 541 "column": 10 542 }, 543 "end": { 544 "line": 20, 545 "column": 16 546 } 547 } 548 } 549 ], 550 "loc": { 551 "start": { 552 "line": 20, 553 "column": 9 554 }, 555 "end": { 556 "line": 20, 557 "column": 16 558 } 559 } 560 }, 561 "superClass": null, 562 "implements": [], 563 "body": [ 564 { 565 "type": "MethodDefinition", 566 "key": { 567 "type": "Identifier", 568 "name": "constructor", 569 "decorators": [], 570 "loc": { 571 "start": { 572 "line": 1, 573 "column": 1 574 }, 575 "end": { 576 "line": 1, 577 "column": 1 578 } 579 } 580 }, 581 "kind": "constructor", 582 "static": false, 583 "optional": false, 584 "computed": false, 585 "value": { 586 "type": "FunctionExpression", 587 "function": { 588 "type": "ScriptFunction", 589 "id": { 590 "type": "Identifier", 591 "name": "constructor", 592 "decorators": [], 593 "loc": { 594 "start": { 595 "line": 1, 596 "column": 1 597 }, 598 "end": { 599 "line": 1, 600 "column": 1 601 } 602 } 603 }, 604 "generator": false, 605 "async": false, 606 "expression": false, 607 "params": [], 608 "body": { 609 "type": "BlockStatement", 610 "statements": [], 611 "loc": { 612 "start": { 613 "line": 1, 614 "column": 1 615 }, 616 "end": { 617 "line": 1, 618 "column": 1 619 } 620 } 621 }, 622 "loc": { 623 "start": { 624 "line": 1, 625 "column": 1 626 }, 627 "end": { 628 "line": 1, 629 "column": 1 630 } 631 } 632 }, 633 "loc": { 634 "start": { 635 "line": 1, 636 "column": 1 637 }, 638 "end": { 639 "line": 1, 640 "column": 1 641 } 642 } 643 }, 644 "overloads": [], 645 "decorators": [], 646 "loc": { 647 "start": { 648 "line": 20, 649 "column": 19 650 }, 651 "end": { 652 "line": 20, 653 "column": 19 654 } 655 } 656 } 657 ], 658 "loc": { 659 "start": { 660 "line": 20, 661 "column": 17 662 }, 663 "end": { 664 "line": 20, 665 "column": 19 666 } 667 } 668 }, 669 "loc": { 670 "start": { 671 "line": 20, 672 "column": 1 673 }, 674 "end": { 675 "line": 20, 676 "column": 19 677 } 678 } 679 }, 680 { 681 "type": "ClassDeclaration", 682 "definition": { 683 "id": { 684 "type": "Identifier", 685 "name": "ETSGLOBAL", 686 "decorators": [], 687 "loc": { 688 "start": { 689 "line": 1, 690 "column": 1 691 }, 692 "end": { 693 "line": 1, 694 "column": 1 695 } 696 } 697 }, 698 "superClass": null, 699 "implements": [], 700 "body": [ 701 { 702 "type": "MethodDefinition", 703 "key": { 704 "type": "Identifier", 705 "name": "_$init$_", 706 "decorators": [], 707 "loc": { 708 "start": { 709 "line": 1, 710 "column": 1 711 }, 712 "end": { 713 "line": 1, 714 "column": 1 715 } 716 } 717 }, 718 "kind": "method", 719 "accessibility": "public", 720 "static": true, 721 "optional": false, 722 "computed": false, 723 "value": { 724 "type": "FunctionExpression", 725 "function": { 726 "type": "ScriptFunction", 727 "id": { 728 "type": "Identifier", 729 "name": "_$init$_", 730 "decorators": [], 731 "loc": { 732 "start": { 733 "line": 1, 734 "column": 1 735 }, 736 "end": { 737 "line": 1, 738 "column": 1 739 } 740 } 741 }, 742 "generator": false, 743 "async": false, 744 "expression": false, 745 "params": [], 746 "body": { 747 "type": "BlockStatement", 748 "statements": [], 749 "loc": { 750 "start": { 751 "line": 1, 752 "column": 1 753 }, 754 "end": { 755 "line": 1, 756 "column": 1 757 } 758 } 759 }, 760 "loc": { 761 "start": { 762 "line": 1, 763 "column": 1 764 }, 765 "end": { 766 "line": 1, 767 "column": 1 768 } 769 } 770 }, 771 "loc": { 772 "start": { 773 "line": 1, 774 "column": 1 775 }, 776 "end": { 777 "line": 1, 778 "column": 1 779 } 780 } 781 }, 782 "overloads": [], 783 "decorators": [], 784 "loc": { 785 "start": { 786 "line": 1, 787 "column": 1 788 }, 789 "end": { 790 "line": 1, 791 "column": 1 792 } 793 } 794 }, 795 { 796 "type": "MethodDefinition", 797 "key": { 798 "type": "Identifier", 799 "name": "main", 800 "decorators": [], 801 "loc": { 802 "start": { 803 "line": 22, 804 "column": 10 805 }, 806 "end": { 807 "line": 22, 808 "column": 14 809 } 810 } 811 }, 812 "kind": "method", 813 "accessibility": "public", 814 "static": true, 815 "optional": false, 816 "computed": false, 817 "value": { 818 "type": "FunctionExpression", 819 "function": { 820 "type": "ScriptFunction", 821 "id": { 822 "type": "Identifier", 823 "name": "main", 824 "decorators": [], 825 "loc": { 826 "start": { 827 "line": 22, 828 "column": 10 829 }, 830 "end": { 831 "line": 22, 832 "column": 14 833 } 834 } 835 }, 836 "generator": false, 837 "async": false, 838 "expression": false, 839 "params": [], 840 "returnType": { 841 "type": "ETSPrimitiveType", 842 "loc": { 843 "start": { 844 "line": 22, 845 "column": 18 846 }, 847 "end": { 848 "line": 22, 849 "column": 22 850 } 851 } 852 }, 853 "body": { 854 "type": "BlockStatement", 855 "statements": [ 856 { 857 "type": "VariableDeclaration", 858 "declarations": [ 859 { 860 "type": "VariableDeclarator", 861 "id": { 862 "type": "Identifier", 863 "name": "x1", 864 "typeAnnotation": { 865 "type": "ETSTypeReference", 866 "part": { 867 "type": "ETSTypeReferencePart", 868 "name": { 869 "type": "Identifier", 870 "name": "A1", 871 "decorators": [], 872 "loc": { 873 "start": { 874 "line": 23, 875 "column": 13 876 }, 877 "end": { 878 "line": 23, 879 "column": 15 880 } 881 } 882 }, 883 "typeParams": { 884 "type": "TSTypeParameterInstantiation", 885 "params": [ 886 { 887 "type": "ETSTypeReference", 888 "part": { 889 "type": "ETSTypeReferencePart", 890 "name": { 891 "type": "Identifier", 892 "name": "A", 893 "decorators": [], 894 "loc": { 895 "start": { 896 "line": 23, 897 "column": 16 898 }, 899 "end": { 900 "line": 23, 901 "column": 17 902 } 903 } 904 }, 905 "loc": { 906 "start": { 907 "line": 23, 908 "column": 16 909 }, 910 "end": { 911 "line": 23, 912 "column": 18 913 } 914 } 915 }, 916 "loc": { 917 "start": { 918 "line": 23, 919 "column": 16 920 }, 921 "end": { 922 "line": 23, 923 "column": 18 924 } 925 } 926 } 927 ], 928 "loc": { 929 "start": { 930 "line": 23, 931 "column": 15 932 }, 933 "end": { 934 "line": 23, 935 "column": 18 936 } 937 } 938 }, 939 "loc": { 940 "start": { 941 "line": 23, 942 "column": 13 943 }, 944 "end": { 945 "line": 23, 946 "column": 20 947 } 948 } 949 }, 950 "loc": { 951 "start": { 952 "line": 23, 953 "column": 13 954 }, 955 "end": { 956 "line": 23, 957 "column": 20 958 } 959 } 960 }, 961 "decorators": [], 962 "loc": { 963 "start": { 964 "line": 23, 965 "column": 9 966 }, 967 "end": { 968 "line": 23, 969 "column": 11 970 } 971 } 972 }, 973 "init": { 974 "type": "ETSNewClassInstanceExpression", 975 "typeReference": { 976 "type": "ETSTypeReference", 977 "part": { 978 "type": "ETSTypeReferencePart", 979 "name": { 980 "type": "Identifier", 981 "name": "A1", 982 "decorators": [], 983 "loc": { 984 "start": { 985 "line": 23, 986 "column": 25 987 }, 988 "end": { 989 "line": 23, 990 "column": 27 991 } 992 } 993 }, 994 "typeParams": { 995 "type": "TSTypeParameterInstantiation", 996 "params": [ 997 { 998 "type": "ETSTypeReference", 999 "part": { 1000 "type": "ETSTypeReferencePart", 1001 "name": { 1002 "type": "Identifier", 1003 "name": "A", 1004 "decorators": [], 1005 "loc": { 1006 "start": { 1007 "line": 23, 1008 "column": 28 1009 }, 1010 "end": { 1011 "line": 23, 1012 "column": 29 1013 } 1014 } 1015 }, 1016 "loc": { 1017 "start": { 1018 "line": 23, 1019 "column": 28 1020 }, 1021 "end": { 1022 "line": 23, 1023 "column": 30 1024 } 1025 } 1026 }, 1027 "loc": { 1028 "start": { 1029 "line": 23, 1030 "column": 28 1031 }, 1032 "end": { 1033 "line": 23, 1034 "column": 30 1035 } 1036 } 1037 } 1038 ], 1039 "loc": { 1040 "start": { 1041 "line": 23, 1042 "column": 27 1043 }, 1044 "end": { 1045 "line": 23, 1046 "column": 30 1047 } 1048 } 1049 }, 1050 "loc": { 1051 "start": { 1052 "line": 23, 1053 "column": 25 1054 }, 1055 "end": { 1056 "line": 23, 1057 "column": 31 1058 } 1059 } 1060 }, 1061 "loc": { 1062 "start": { 1063 "line": 23, 1064 "column": 25 1065 }, 1066 "end": { 1067 "line": 23, 1068 "column": 31 1069 } 1070 } 1071 }, 1072 "arguments": [], 1073 "loc": { 1074 "start": { 1075 "line": 23, 1076 "column": 21 1077 }, 1078 "end": { 1079 "line": 24, 1080 "column": 8 1081 } 1082 } 1083 }, 1084 "loc": { 1085 "start": { 1086 "line": 23, 1087 "column": 9 1088 }, 1089 "end": { 1090 "line": 24, 1091 "column": 8 1092 } 1093 } 1094 } 1095 ], 1096 "kind": "let", 1097 "loc": { 1098 "start": { 1099 "line": 23, 1100 "column": 5 1101 }, 1102 "end": { 1103 "line": 24, 1104 "column": 8 1105 } 1106 } 1107 }, 1108 { 1109 "type": "VariableDeclaration", 1110 "declarations": [ 1111 { 1112 "type": "VariableDeclarator", 1113 "id": { 1114 "type": "Identifier", 1115 "name": "x2", 1116 "typeAnnotation": { 1117 "type": "ETSTypeReference", 1118 "part": { 1119 "type": "ETSTypeReferencePart", 1120 "name": { 1121 "type": "Identifier", 1122 "name": "A1", 1123 "decorators": [], 1124 "loc": { 1125 "start": { 1126 "line": 24, 1127 "column": 13 1128 }, 1129 "end": { 1130 "line": 24, 1131 "column": 15 1132 } 1133 } 1134 }, 1135 "typeParams": { 1136 "type": "TSTypeParameterInstantiation", 1137 "params": [ 1138 { 1139 "type": "ETSTypeReference", 1140 "part": { 1141 "type": "ETSTypeReferencePart", 1142 "name": { 1143 "type": "Identifier", 1144 "name": "B", 1145 "decorators": [], 1146 "loc": { 1147 "start": { 1148 "line": 24, 1149 "column": 16 1150 }, 1151 "end": { 1152 "line": 24, 1153 "column": 17 1154 } 1155 } 1156 }, 1157 "loc": { 1158 "start": { 1159 "line": 24, 1160 "column": 16 1161 }, 1162 "end": { 1163 "line": 24, 1164 "column": 18 1165 } 1166 } 1167 }, 1168 "loc": { 1169 "start": { 1170 "line": 24, 1171 "column": 16 1172 }, 1173 "end": { 1174 "line": 24, 1175 "column": 18 1176 } 1177 } 1178 } 1179 ], 1180 "loc": { 1181 "start": { 1182 "line": 24, 1183 "column": 15 1184 }, 1185 "end": { 1186 "line": 24, 1187 "column": 18 1188 } 1189 } 1190 }, 1191 "loc": { 1192 "start": { 1193 "line": 24, 1194 "column": 13 1195 }, 1196 "end": { 1197 "line": 24, 1198 "column": 20 1199 } 1200 } 1201 }, 1202 "loc": { 1203 "start": { 1204 "line": 24, 1205 "column": 13 1206 }, 1207 "end": { 1208 "line": 24, 1209 "column": 20 1210 } 1211 } 1212 }, 1213 "decorators": [], 1214 "loc": { 1215 "start": { 1216 "line": 24, 1217 "column": 9 1218 }, 1219 "end": { 1220 "line": 24, 1221 "column": 11 1222 } 1223 } 1224 }, 1225 "init": { 1226 "type": "ETSNewClassInstanceExpression", 1227 "typeReference": { 1228 "type": "ETSTypeReference", 1229 "part": { 1230 "type": "ETSTypeReferencePart", 1231 "name": { 1232 "type": "Identifier", 1233 "name": "A1", 1234 "decorators": [], 1235 "loc": { 1236 "start": { 1237 "line": 24, 1238 "column": 25 1239 }, 1240 "end": { 1241 "line": 24, 1242 "column": 27 1243 } 1244 } 1245 }, 1246 "typeParams": { 1247 "type": "TSTypeParameterInstantiation", 1248 "params": [ 1249 { 1250 "type": "ETSTypeReference", 1251 "part": { 1252 "type": "ETSTypeReferencePart", 1253 "name": { 1254 "type": "Identifier", 1255 "name": "A", 1256 "decorators": [], 1257 "loc": { 1258 "start": { 1259 "line": 24, 1260 "column": 28 1261 }, 1262 "end": { 1263 "line": 24, 1264 "column": 29 1265 } 1266 } 1267 }, 1268 "loc": { 1269 "start": { 1270 "line": 24, 1271 "column": 28 1272 }, 1273 "end": { 1274 "line": 24, 1275 "column": 30 1276 } 1277 } 1278 }, 1279 "loc": { 1280 "start": { 1281 "line": 24, 1282 "column": 28 1283 }, 1284 "end": { 1285 "line": 24, 1286 "column": 30 1287 } 1288 } 1289 } 1290 ], 1291 "loc": { 1292 "start": { 1293 "line": 24, 1294 "column": 27 1295 }, 1296 "end": { 1297 "line": 24, 1298 "column": 30 1299 } 1300 } 1301 }, 1302 "loc": { 1303 "start": { 1304 "line": 24, 1305 "column": 25 1306 }, 1307 "end": { 1308 "line": 24, 1309 "column": 31 1310 } 1311 } 1312 }, 1313 "loc": { 1314 "start": { 1315 "line": 24, 1316 "column": 25 1317 }, 1318 "end": { 1319 "line": 24, 1320 "column": 31 1321 } 1322 } 1323 }, 1324 "arguments": [], 1325 "loc": { 1326 "start": { 1327 "line": 24, 1328 "column": 21 1329 }, 1330 "end": { 1331 "line": 26, 1332 "column": 8 1333 } 1334 } 1335 }, 1336 "loc": { 1337 "start": { 1338 "line": 24, 1339 "column": 9 1340 }, 1341 "end": { 1342 "line": 26, 1343 "column": 8 1344 } 1345 } 1346 } 1347 ], 1348 "kind": "let", 1349 "loc": { 1350 "start": { 1351 "line": 24, 1352 "column": 5 1353 }, 1354 "end": { 1355 "line": 26, 1356 "column": 8 1357 } 1358 } 1359 }, 1360 { 1361 "type": "VariableDeclaration", 1362 "declarations": [ 1363 { 1364 "type": "VariableDeclarator", 1365 "id": { 1366 "type": "Identifier", 1367 "name": "x3", 1368 "typeAnnotation": { 1369 "type": "ETSTypeReference", 1370 "part": { 1371 "type": "ETSTypeReferencePart", 1372 "name": { 1373 "type": "Identifier", 1374 "name": "A2", 1375 "decorators": [], 1376 "loc": { 1377 "start": { 1378 "line": 26, 1379 "column": 13 1380 }, 1381 "end": { 1382 "line": 26, 1383 "column": 15 1384 } 1385 } 1386 }, 1387 "typeParams": { 1388 "type": "TSTypeParameterInstantiation", 1389 "params": [ 1390 { 1391 "type": "ETSTypeReference", 1392 "part": { 1393 "type": "ETSTypeReferencePart", 1394 "name": { 1395 "type": "Identifier", 1396 "name": "A", 1397 "decorators": [], 1398 "loc": { 1399 "start": { 1400 "line": 26, 1401 "column": 16 1402 }, 1403 "end": { 1404 "line": 26, 1405 "column": 17 1406 } 1407 } 1408 }, 1409 "loc": { 1410 "start": { 1411 "line": 26, 1412 "column": 16 1413 }, 1414 "end": { 1415 "line": 26, 1416 "column": 18 1417 } 1418 } 1419 }, 1420 "loc": { 1421 "start": { 1422 "line": 26, 1423 "column": 16 1424 }, 1425 "end": { 1426 "line": 26, 1427 "column": 18 1428 } 1429 } 1430 } 1431 ], 1432 "loc": { 1433 "start": { 1434 "line": 26, 1435 "column": 15 1436 }, 1437 "end": { 1438 "line": 26, 1439 "column": 18 1440 } 1441 } 1442 }, 1443 "loc": { 1444 "start": { 1445 "line": 26, 1446 "column": 13 1447 }, 1448 "end": { 1449 "line": 26, 1450 "column": 20 1451 } 1452 } 1453 }, 1454 "loc": { 1455 "start": { 1456 "line": 26, 1457 "column": 13 1458 }, 1459 "end": { 1460 "line": 26, 1461 "column": 20 1462 } 1463 } 1464 }, 1465 "decorators": [], 1466 "loc": { 1467 "start": { 1468 "line": 26, 1469 "column": 9 1470 }, 1471 "end": { 1472 "line": 26, 1473 "column": 11 1474 } 1475 } 1476 }, 1477 "init": { 1478 "type": "ETSNewClassInstanceExpression", 1479 "typeReference": { 1480 "type": "ETSTypeReference", 1481 "part": { 1482 "type": "ETSTypeReferencePart", 1483 "name": { 1484 "type": "Identifier", 1485 "name": "A2", 1486 "decorators": [], 1487 "loc": { 1488 "start": { 1489 "line": 26, 1490 "column": 25 1491 }, 1492 "end": { 1493 "line": 26, 1494 "column": 27 1495 } 1496 } 1497 }, 1498 "typeParams": { 1499 "type": "TSTypeParameterInstantiation", 1500 "params": [ 1501 { 1502 "type": "ETSTypeReference", 1503 "part": { 1504 "type": "ETSTypeReferencePart", 1505 "name": { 1506 "type": "Identifier", 1507 "name": "A", 1508 "decorators": [], 1509 "loc": { 1510 "start": { 1511 "line": 26, 1512 "column": 28 1513 }, 1514 "end": { 1515 "line": 26, 1516 "column": 29 1517 } 1518 } 1519 }, 1520 "loc": { 1521 "start": { 1522 "line": 26, 1523 "column": 28 1524 }, 1525 "end": { 1526 "line": 26, 1527 "column": 30 1528 } 1529 } 1530 }, 1531 "loc": { 1532 "start": { 1533 "line": 26, 1534 "column": 28 1535 }, 1536 "end": { 1537 "line": 26, 1538 "column": 30 1539 } 1540 } 1541 } 1542 ], 1543 "loc": { 1544 "start": { 1545 "line": 26, 1546 "column": 27 1547 }, 1548 "end": { 1549 "line": 26, 1550 "column": 30 1551 } 1552 } 1553 }, 1554 "loc": { 1555 "start": { 1556 "line": 26, 1557 "column": 25 1558 }, 1559 "end": { 1560 "line": 26, 1561 "column": 31 1562 } 1563 } 1564 }, 1565 "loc": { 1566 "start": { 1567 "line": 26, 1568 "column": 25 1569 }, 1570 "end": { 1571 "line": 26, 1572 "column": 31 1573 } 1574 } 1575 }, 1576 "arguments": [], 1577 "loc": { 1578 "start": { 1579 "line": 26, 1580 "column": 21 1581 }, 1582 "end": { 1583 "line": 27, 1584 "column": 8 1585 } 1586 } 1587 }, 1588 "loc": { 1589 "start": { 1590 "line": 26, 1591 "column": 9 1592 }, 1593 "end": { 1594 "line": 27, 1595 "column": 8 1596 } 1597 } 1598 } 1599 ], 1600 "kind": "let", 1601 "loc": { 1602 "start": { 1603 "line": 26, 1604 "column": 5 1605 }, 1606 "end": { 1607 "line": 27, 1608 "column": 8 1609 } 1610 } 1611 }, 1612 { 1613 "type": "VariableDeclaration", 1614 "declarations": [ 1615 { 1616 "type": "VariableDeclarator", 1617 "id": { 1618 "type": "Identifier", 1619 "name": "x4", 1620 "typeAnnotation": { 1621 "type": "ETSTypeReference", 1622 "part": { 1623 "type": "ETSTypeReferencePart", 1624 "name": { 1625 "type": "Identifier", 1626 "name": "A2", 1627 "decorators": [], 1628 "loc": { 1629 "start": { 1630 "line": 27, 1631 "column": 13 1632 }, 1633 "end": { 1634 "line": 27, 1635 "column": 15 1636 } 1637 } 1638 }, 1639 "typeParams": { 1640 "type": "TSTypeParameterInstantiation", 1641 "params": [ 1642 { 1643 "type": "ETSTypeReference", 1644 "part": { 1645 "type": "ETSTypeReferencePart", 1646 "name": { 1647 "type": "Identifier", 1648 "name": "A", 1649 "decorators": [], 1650 "loc": { 1651 "start": { 1652 "line": 27, 1653 "column": 16 1654 }, 1655 "end": { 1656 "line": 27, 1657 "column": 17 1658 } 1659 } 1660 }, 1661 "loc": { 1662 "start": { 1663 "line": 27, 1664 "column": 16 1665 }, 1666 "end": { 1667 "line": 27, 1668 "column": 18 1669 } 1670 } 1671 }, 1672 "loc": { 1673 "start": { 1674 "line": 27, 1675 "column": 16 1676 }, 1677 "end": { 1678 "line": 27, 1679 "column": 18 1680 } 1681 } 1682 } 1683 ], 1684 "loc": { 1685 "start": { 1686 "line": 27, 1687 "column": 15 1688 }, 1689 "end": { 1690 "line": 27, 1691 "column": 18 1692 } 1693 } 1694 }, 1695 "loc": { 1696 "start": { 1697 "line": 27, 1698 "column": 13 1699 }, 1700 "end": { 1701 "line": 27, 1702 "column": 20 1703 } 1704 } 1705 }, 1706 "loc": { 1707 "start": { 1708 "line": 27, 1709 "column": 13 1710 }, 1711 "end": { 1712 "line": 27, 1713 "column": 20 1714 } 1715 } 1716 }, 1717 "decorators": [], 1718 "loc": { 1719 "start": { 1720 "line": 27, 1721 "column": 9 1722 }, 1723 "end": { 1724 "line": 27, 1725 "column": 11 1726 } 1727 } 1728 }, 1729 "init": { 1730 "type": "ETSNewClassInstanceExpression", 1731 "typeReference": { 1732 "type": "ETSTypeReference", 1733 "part": { 1734 "type": "ETSTypeReferencePart", 1735 "name": { 1736 "type": "Identifier", 1737 "name": "A2", 1738 "decorators": [], 1739 "loc": { 1740 "start": { 1741 "line": 27, 1742 "column": 25 1743 }, 1744 "end": { 1745 "line": 27, 1746 "column": 27 1747 } 1748 } 1749 }, 1750 "typeParams": { 1751 "type": "TSTypeParameterInstantiation", 1752 "params": [ 1753 { 1754 "type": "ETSTypeReference", 1755 "part": { 1756 "type": "ETSTypeReferencePart", 1757 "name": { 1758 "type": "Identifier", 1759 "name": "B", 1760 "decorators": [], 1761 "loc": { 1762 "start": { 1763 "line": 27, 1764 "column": 28 1765 }, 1766 "end": { 1767 "line": 27, 1768 "column": 29 1769 } 1770 } 1771 }, 1772 "loc": { 1773 "start": { 1774 "line": 27, 1775 "column": 28 1776 }, 1777 "end": { 1778 "line": 27, 1779 "column": 30 1780 } 1781 } 1782 }, 1783 "loc": { 1784 "start": { 1785 "line": 27, 1786 "column": 28 1787 }, 1788 "end": { 1789 "line": 27, 1790 "column": 30 1791 } 1792 } 1793 } 1794 ], 1795 "loc": { 1796 "start": { 1797 "line": 27, 1798 "column": 27 1799 }, 1800 "end": { 1801 "line": 27, 1802 "column": 30 1803 } 1804 } 1805 }, 1806 "loc": { 1807 "start": { 1808 "line": 27, 1809 "column": 25 1810 }, 1811 "end": { 1812 "line": 27, 1813 "column": 31 1814 } 1815 } 1816 }, 1817 "loc": { 1818 "start": { 1819 "line": 27, 1820 "column": 25 1821 }, 1822 "end": { 1823 "line": 27, 1824 "column": 31 1825 } 1826 } 1827 }, 1828 "arguments": [], 1829 "loc": { 1830 "start": { 1831 "line": 27, 1832 "column": 21 1833 }, 1834 "end": { 1835 "line": 28, 1836 "column": 2 1837 } 1838 } 1839 }, 1840 "loc": { 1841 "start": { 1842 "line": 27, 1843 "column": 9 1844 }, 1845 "end": { 1846 "line": 28, 1847 "column": 2 1848 } 1849 } 1850 } 1851 ], 1852 "kind": "let", 1853 "loc": { 1854 "start": { 1855 "line": 27, 1856 "column": 5 1857 }, 1858 "end": { 1859 "line": 28, 1860 "column": 2 1861 } 1862 } 1863 } 1864 ], 1865 "loc": { 1866 "start": { 1867 "line": 22, 1868 "column": 23 1869 }, 1870 "end": { 1871 "line": 28, 1872 "column": 2 1873 } 1874 } 1875 }, 1876 "loc": { 1877 "start": { 1878 "line": 22, 1879 "column": 14 1880 }, 1881 "end": { 1882 "line": 28, 1883 "column": 2 1884 } 1885 } 1886 }, 1887 "loc": { 1888 "start": { 1889 "line": 22, 1890 "column": 14 1891 }, 1892 "end": { 1893 "line": 28, 1894 "column": 2 1895 } 1896 } 1897 }, 1898 "overloads": [], 1899 "decorators": [], 1900 "loc": { 1901 "start": { 1902 "line": 22, 1903 "column": 1 1904 }, 1905 "end": { 1906 "line": 28, 1907 "column": 2 1908 } 1909 } 1910 } 1911 ], 1912 "loc": { 1913 "start": { 1914 "line": 1, 1915 "column": 1 1916 }, 1917 "end": { 1918 "line": 1, 1919 "column": 1 1920 } 1921 } 1922 }, 1923 "loc": { 1924 "start": { 1925 "line": 1, 1926 "column": 1 1927 }, 1928 "end": { 1929 "line": 1, 1930 "column": 1 1931 } 1932 } 1933 } 1934 ], 1935 "loc": { 1936 "start": { 1937 "line": 1, 1938 "column": 1 1939 }, 1940 "end": { 1941 "line": 28, 1942 "column": 2 1943 } 1944 } 1945} 1946