1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "ClassDeclaration", 6 "definition": { 7 "id": { 8 "type": "Identifier", 9 "name": "B", 10 "decorators": [], 11 "loc": { 12 "start": { 13 "line": 16, 14 "column": 7 15 }, 16 "end": { 17 "line": 16, 18 "column": 8 19 } 20 } 21 }, 22 "typeParameters": { 23 "type": "TSTypeParameterDeclaration", 24 "params": [ 25 { 26 "type": "TSTypeParameter", 27 "name": { 28 "type": "Identifier", 29 "name": "T", 30 "decorators": [], 31 "loc": { 32 "start": { 33 "line": 16, 34 "column": 9 35 }, 36 "end": { 37 "line": 16, 38 "column": 10 39 } 40 } 41 }, 42 "loc": { 43 "start": { 44 "line": 16, 45 "column": 9 46 }, 47 "end": { 48 "line": 16, 49 "column": 11 50 } 51 } 52 } 53 ], 54 "loc": { 55 "start": { 56 "line": 16, 57 "column": 8 58 }, 59 "end": { 60 "line": 16, 61 "column": 11 62 } 63 } 64 }, 65 "superClass": null, 66 "implements": [], 67 "body": [ 68 { 69 "type": "MethodDefinition", 70 "key": { 71 "type": "Identifier", 72 "name": "test", 73 "decorators": [], 74 "loc": { 75 "start": { 76 "line": 17, 77 "column": 5 78 }, 79 "end": { 80 "line": 17, 81 "column": 9 82 } 83 } 84 }, 85 "kind": "method", 86 "accessibility": "public", 87 "static": false, 88 "optional": false, 89 "computed": false, 90 "value": { 91 "type": "FunctionExpression", 92 "function": { 93 "type": "ScriptFunction", 94 "id": { 95 "type": "Identifier", 96 "name": "test", 97 "decorators": [], 98 "loc": { 99 "start": { 100 "line": 17, 101 "column": 5 102 }, 103 "end": { 104 "line": 17, 105 "column": 9 106 } 107 } 108 }, 109 "generator": false, 110 "async": false, 111 "expression": false, 112 "params": [ 113 { 114 "type": "ETSParameterExpression", 115 "name": { 116 "type": "Identifier", 117 "name": "c", 118 "typeAnnotation": { 119 "type": "ETSTypeReference", 120 "part": { 121 "type": "ETSTypeReferencePart", 122 "name": { 123 "type": "Identifier", 124 "name": "B", 125 "decorators": [], 126 "loc": { 127 "start": { 128 "line": 17, 129 "column": 13 130 }, 131 "end": { 132 "line": 17, 133 "column": 14 134 } 135 } 136 }, 137 "typeParams": { 138 "type": "TSTypeParameterInstantiation", 139 "params": [ 140 { 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": 15 152 }, 153 "end": { 154 "line": 17, 155 "column": 16 156 } 157 } 158 }, 159 "loc": { 160 "start": { 161 "line": 17, 162 "column": 15 163 }, 164 "end": { 165 "line": 17, 166 "column": 17 167 } 168 } 169 }, 170 "loc": { 171 "start": { 172 "line": 17, 173 "column": 15 174 }, 175 "end": { 176 "line": 17, 177 "column": 17 178 } 179 } 180 } 181 ], 182 "loc": { 183 "start": { 184 "line": 17, 185 "column": 14 186 }, 187 "end": { 188 "line": 17, 189 "column": 17 190 } 191 } 192 }, 193 "loc": { 194 "start": { 195 "line": 17, 196 "column": 13 197 }, 198 "end": { 199 "line": 17, 200 "column": 18 201 } 202 } 203 }, 204 "loc": { 205 "start": { 206 "line": 17, 207 "column": 13 208 }, 209 "end": { 210 "line": 17, 211 "column": 18 212 } 213 } 214 }, 215 "decorators": [], 216 "loc": { 217 "start": { 218 "line": 17, 219 "column": 10 220 }, 221 "end": { 222 "line": 17, 223 "column": 18 224 } 225 } 226 }, 227 "loc": { 228 "start": { 229 "line": 17, 230 "column": 10 231 }, 232 "end": { 233 "line": 17, 234 "column": 18 235 } 236 } 237 } 238 ], 239 "returnType": { 240 "type": "ETSTypeReference", 241 "part": { 242 "type": "ETSTypeReferencePart", 243 "name": { 244 "type": "Identifier", 245 "name": "B", 246 "decorators": [], 247 "loc": { 248 "start": { 249 "line": 17, 250 "column": 20 251 }, 252 "end": { 253 "line": 17, 254 "column": 21 255 } 256 } 257 }, 258 "typeParams": { 259 "type": "TSTypeParameterInstantiation", 260 "params": [ 261 { 262 "type": "ETSTypeReference", 263 "part": { 264 "type": "ETSTypeReferencePart", 265 "name": { 266 "type": "Identifier", 267 "name": "T", 268 "decorators": [], 269 "loc": { 270 "start": { 271 "line": 17, 272 "column": 22 273 }, 274 "end": { 275 "line": 17, 276 "column": 23 277 } 278 } 279 }, 280 "loc": { 281 "start": { 282 "line": 17, 283 "column": 22 284 }, 285 "end": { 286 "line": 17, 287 "column": 24 288 } 289 } 290 }, 291 "loc": { 292 "start": { 293 "line": 17, 294 "column": 22 295 }, 296 "end": { 297 "line": 17, 298 "column": 24 299 } 300 } 301 } 302 ], 303 "loc": { 304 "start": { 305 "line": 17, 306 "column": 21 307 }, 308 "end": { 309 "line": 17, 310 "column": 24 311 } 312 } 313 }, 314 "loc": { 315 "start": { 316 "line": 17, 317 "column": 20 318 }, 319 "end": { 320 "line": 17, 321 "column": 26 322 } 323 } 324 }, 325 "loc": { 326 "start": { 327 "line": 17, 328 "column": 20 329 }, 330 "end": { 331 "line": 17, 332 "column": 26 333 } 334 } 335 }, 336 "body": { 337 "type": "BlockStatement", 338 "statements": [ 339 { 340 "type": "ReturnStatement", 341 "argument": { 342 "type": "Identifier", 343 "name": "c", 344 "decorators": [], 345 "loc": { 346 "start": { 347 "line": 18, 348 "column": 16 349 }, 350 "end": { 351 "line": 18, 352 "column": 17 353 } 354 } 355 }, 356 "loc": { 357 "start": { 358 "line": 18, 359 "column": 9 360 }, 361 "end": { 362 "line": 18, 363 "column": 18 364 } 365 } 366 } 367 ], 368 "loc": { 369 "start": { 370 "line": 17, 371 "column": 25 372 }, 373 "end": { 374 "line": 19, 375 "column": 6 376 } 377 } 378 }, 379 "loc": { 380 "start": { 381 "line": 17, 382 "column": 9 383 }, 384 "end": { 385 "line": 19, 386 "column": 6 387 } 388 } 389 }, 390 "loc": { 391 "start": { 392 "line": 17, 393 "column": 9 394 }, 395 "end": { 396 "line": 19, 397 "column": 6 398 } 399 } 400 }, 401 "overloads": [], 402 "decorators": [], 403 "loc": { 404 "start": { 405 "line": 17, 406 "column": 5 407 }, 408 "end": { 409 "line": 19, 410 "column": 6 411 } 412 } 413 }, 414 { 415 "type": "MethodDefinition", 416 "key": { 417 "type": "Identifier", 418 "name": "test2", 419 "decorators": [], 420 "loc": { 421 "start": { 422 "line": 21, 423 "column": 5 424 }, 425 "end": { 426 "line": 21, 427 "column": 10 428 } 429 } 430 }, 431 "kind": "method", 432 "accessibility": "public", 433 "static": false, 434 "optional": false, 435 "computed": false, 436 "value": { 437 "type": "FunctionExpression", 438 "function": { 439 "type": "ScriptFunction", 440 "id": { 441 "type": "Identifier", 442 "name": "test2", 443 "decorators": [], 444 "loc": { 445 "start": { 446 "line": 21, 447 "column": 5 448 }, 449 "end": { 450 "line": 21, 451 "column": 10 452 } 453 } 454 }, 455 "generator": false, 456 "async": false, 457 "expression": false, 458 "params": [ 459 { 460 "type": "ETSParameterExpression", 461 "name": { 462 "type": "Identifier", 463 "name": "c", 464 "typeAnnotation": { 465 "type": "ETSTypeReference", 466 "part": { 467 "type": "ETSTypeReferencePart", 468 "name": { 469 "type": "Identifier", 470 "name": "B", 471 "decorators": [], 472 "loc": { 473 "start": { 474 "line": 21, 475 "column": 14 476 }, 477 "end": { 478 "line": 21, 479 "column": 15 480 } 481 } 482 }, 483 "typeParams": { 484 "type": "TSTypeParameterInstantiation", 485 "params": [ 486 { 487 "type": "ETSTypeReference", 488 "part": { 489 "type": "ETSTypeReferencePart", 490 "name": { 491 "type": "Identifier", 492 "name": "T", 493 "decorators": [], 494 "loc": { 495 "start": { 496 "line": 21, 497 "column": 16 498 }, 499 "end": { 500 "line": 21, 501 "column": 17 502 } 503 } 504 }, 505 "loc": { 506 "start": { 507 "line": 21, 508 "column": 16 509 }, 510 "end": { 511 "line": 21, 512 "column": 18 513 } 514 } 515 }, 516 "loc": { 517 "start": { 518 "line": 21, 519 "column": 16 520 }, 521 "end": { 522 "line": 21, 523 "column": 18 524 } 525 } 526 } 527 ], 528 "loc": { 529 "start": { 530 "line": 21, 531 "column": 15 532 }, 533 "end": { 534 "line": 21, 535 "column": 18 536 } 537 } 538 }, 539 "loc": { 540 "start": { 541 "line": 21, 542 "column": 14 543 }, 544 "end": { 545 "line": 21, 546 "column": 19 547 } 548 } 549 }, 550 "loc": { 551 "start": { 552 "line": 21, 553 "column": 14 554 }, 555 "end": { 556 "line": 21, 557 "column": 19 558 } 559 } 560 }, 561 "decorators": [], 562 "loc": { 563 "start": { 564 "line": 21, 565 "column": 11 566 }, 567 "end": { 568 "line": 21, 569 "column": 19 570 } 571 } 572 }, 573 "loc": { 574 "start": { 575 "line": 21, 576 "column": 11 577 }, 578 "end": { 579 "line": 21, 580 "column": 19 581 } 582 } 583 } 584 ], 585 "returnType": { 586 "type": "ETSTypeReference", 587 "part": { 588 "type": "ETSTypeReferencePart", 589 "name": { 590 "type": "Identifier", 591 "name": "B", 592 "decorators": [], 593 "loc": { 594 "start": { 595 "line": 21, 596 "column": 21 597 }, 598 "end": { 599 "line": 21, 600 "column": 22 601 } 602 } 603 }, 604 "typeParams": { 605 "type": "TSTypeParameterInstantiation", 606 "params": [ 607 { 608 "type": "ETSTypeReference", 609 "part": { 610 "type": "ETSTypeReferencePart", 611 "name": { 612 "type": "Identifier", 613 "name": "T", 614 "decorators": [], 615 "loc": { 616 "start": { 617 "line": 21, 618 "column": 23 619 }, 620 "end": { 621 "line": 21, 622 "column": 24 623 } 624 } 625 }, 626 "loc": { 627 "start": { 628 "line": 21, 629 "column": 23 630 }, 631 "end": { 632 "line": 21, 633 "column": 25 634 } 635 } 636 }, 637 "loc": { 638 "start": { 639 "line": 21, 640 "column": 23 641 }, 642 "end": { 643 "line": 21, 644 "column": 25 645 } 646 } 647 } 648 ], 649 "loc": { 650 "start": { 651 "line": 21, 652 "column": 22 653 }, 654 "end": { 655 "line": 21, 656 "column": 25 657 } 658 } 659 }, 660 "loc": { 661 "start": { 662 "line": 21, 663 "column": 21 664 }, 665 "end": { 666 "line": 21, 667 "column": 27 668 } 669 } 670 }, 671 "loc": { 672 "start": { 673 "line": 21, 674 "column": 21 675 }, 676 "end": { 677 "line": 21, 678 "column": 27 679 } 680 } 681 }, 682 "body": { 683 "type": "BlockStatement", 684 "statements": [ 685 { 686 "type": "ReturnStatement", 687 "argument": { 688 "type": "ThisExpression", 689 "loc": { 690 "start": { 691 "line": 22, 692 "column": 16 693 }, 694 "end": { 695 "line": 22, 696 "column": 20 697 } 698 } 699 }, 700 "loc": { 701 "start": { 702 "line": 22, 703 "column": 9 704 }, 705 "end": { 706 "line": 22, 707 "column": 21 708 } 709 } 710 } 711 ], 712 "loc": { 713 "start": { 714 "line": 21, 715 "column": 26 716 }, 717 "end": { 718 "line": 23, 719 "column": 6 720 } 721 } 722 }, 723 "loc": { 724 "start": { 725 "line": 21, 726 "column": 10 727 }, 728 "end": { 729 "line": 23, 730 "column": 6 731 } 732 } 733 }, 734 "loc": { 735 "start": { 736 "line": 21, 737 "column": 10 738 }, 739 "end": { 740 "line": 23, 741 "column": 6 742 } 743 } 744 }, 745 "overloads": [], 746 "decorators": [], 747 "loc": { 748 "start": { 749 "line": 21, 750 "column": 5 751 }, 752 "end": { 753 "line": 23, 754 "column": 6 755 } 756 } 757 }, 758 { 759 "type": "MethodDefinition", 760 "key": { 761 "type": "Identifier", 762 "name": "constructor", 763 "decorators": [], 764 "loc": { 765 "start": { 766 "line": 1, 767 "column": 1 768 }, 769 "end": { 770 "line": 1, 771 "column": 1 772 } 773 } 774 }, 775 "kind": "constructor", 776 "static": false, 777 "optional": false, 778 "computed": false, 779 "value": { 780 "type": "FunctionExpression", 781 "function": { 782 "type": "ScriptFunction", 783 "id": { 784 "type": "Identifier", 785 "name": "constructor", 786 "decorators": [], 787 "loc": { 788 "start": { 789 "line": 1, 790 "column": 1 791 }, 792 "end": { 793 "line": 1, 794 "column": 1 795 } 796 } 797 }, 798 "generator": false, 799 "async": false, 800 "expression": false, 801 "params": [], 802 "body": { 803 "type": "BlockStatement", 804 "statements": [], 805 "loc": { 806 "start": { 807 "line": 1, 808 "column": 1 809 }, 810 "end": { 811 "line": 1, 812 "column": 1 813 } 814 } 815 }, 816 "loc": { 817 "start": { 818 "line": 1, 819 "column": 1 820 }, 821 "end": { 822 "line": 1, 823 "column": 1 824 } 825 } 826 }, 827 "loc": { 828 "start": { 829 "line": 1, 830 "column": 1 831 }, 832 "end": { 833 "line": 1, 834 "column": 1 835 } 836 } 837 }, 838 "overloads": [], 839 "decorators": [], 840 "loc": { 841 "start": { 842 "line": 24, 843 "column": 2 844 }, 845 "end": { 846 "line": 24, 847 "column": 2 848 } 849 } 850 } 851 ], 852 "loc": { 853 "start": { 854 "line": 16, 855 "column": 12 856 }, 857 "end": { 858 "line": 24, 859 "column": 2 860 } 861 } 862 }, 863 "loc": { 864 "start": { 865 "line": 16, 866 "column": 1 867 }, 868 "end": { 869 "line": 24, 870 "column": 2 871 } 872 } 873 }, 874 { 875 "type": "ClassDeclaration", 876 "definition": { 877 "id": { 878 "type": "Identifier", 879 "name": "A", 880 "decorators": [], 881 "loc": { 882 "start": { 883 "line": 26, 884 "column": 7 885 }, 886 "end": { 887 "line": 26, 888 "column": 8 889 } 890 } 891 }, 892 "typeParameters": { 893 "type": "TSTypeParameterDeclaration", 894 "params": [ 895 { 896 "type": "TSTypeParameter", 897 "name": { 898 "type": "Identifier", 899 "name": "T", 900 "decorators": [], 901 "loc": { 902 "start": { 903 "line": 26, 904 "column": 9 905 }, 906 "end": { 907 "line": 26, 908 "column": 10 909 } 910 } 911 }, 912 "loc": { 913 "start": { 914 "line": 26, 915 "column": 9 916 }, 917 "end": { 918 "line": 26, 919 "column": 11 920 } 921 } 922 } 923 ], 924 "loc": { 925 "start": { 926 "line": 26, 927 "column": 8 928 }, 929 "end": { 930 "line": 26, 931 "column": 11 932 } 933 } 934 }, 935 "superClass": null, 936 "implements": [], 937 "body": [ 938 { 939 "type": "MethodDefinition", 940 "key": { 941 "type": "Identifier", 942 "name": "bar", 943 "decorators": [], 944 "loc": { 945 "start": { 946 "line": 27, 947 "column": 5 948 }, 949 "end": { 950 "line": 27, 951 "column": 8 952 } 953 } 954 }, 955 "kind": "method", 956 "accessibility": "public", 957 "static": false, 958 "optional": false, 959 "computed": false, 960 "value": { 961 "type": "FunctionExpression", 962 "function": { 963 "type": "ScriptFunction", 964 "id": { 965 "type": "Identifier", 966 "name": "bar", 967 "decorators": [], 968 "loc": { 969 "start": { 970 "line": 27, 971 "column": 5 972 }, 973 "end": { 974 "line": 27, 975 "column": 8 976 } 977 } 978 }, 979 "generator": false, 980 "async": false, 981 "expression": false, 982 "params": [], 983 "returnType": { 984 "type": "ETSTypeReference", 985 "part": { 986 "type": "ETSTypeReferencePart", 987 "name": { 988 "type": "Identifier", 989 "name": "A", 990 "decorators": [], 991 "loc": { 992 "start": { 993 "line": 27, 994 "column": 12 995 }, 996 "end": { 997 "line": 27, 998 "column": 13 999 } 1000 } 1001 }, 1002 "typeParams": { 1003 "type": "TSTypeParameterInstantiation", 1004 "params": [ 1005 { 1006 "type": "ETSTypeReference", 1007 "part": { 1008 "type": "ETSTypeReferencePart", 1009 "name": { 1010 "type": "Identifier", 1011 "name": "T", 1012 "decorators": [], 1013 "loc": { 1014 "start": { 1015 "line": 27, 1016 "column": 14 1017 }, 1018 "end": { 1019 "line": 27, 1020 "column": 15 1021 } 1022 } 1023 }, 1024 "loc": { 1025 "start": { 1026 "line": 27, 1027 "column": 14 1028 }, 1029 "end": { 1030 "line": 27, 1031 "column": 16 1032 } 1033 } 1034 }, 1035 "loc": { 1036 "start": { 1037 "line": 27, 1038 "column": 14 1039 }, 1040 "end": { 1041 "line": 27, 1042 "column": 16 1043 } 1044 } 1045 } 1046 ], 1047 "loc": { 1048 "start": { 1049 "line": 27, 1050 "column": 13 1051 }, 1052 "end": { 1053 "line": 27, 1054 "column": 16 1055 } 1056 } 1057 }, 1058 "loc": { 1059 "start": { 1060 "line": 27, 1061 "column": 12 1062 }, 1063 "end": { 1064 "line": 27, 1065 "column": 18 1066 } 1067 } 1068 }, 1069 "loc": { 1070 "start": { 1071 "line": 27, 1072 "column": 12 1073 }, 1074 "end": { 1075 "line": 27, 1076 "column": 18 1077 } 1078 } 1079 }, 1080 "body": { 1081 "type": "BlockStatement", 1082 "statements": [ 1083 { 1084 "type": "ReturnStatement", 1085 "argument": { 1086 "type": "ThisExpression", 1087 "loc": { 1088 "start": { 1089 "line": 28, 1090 "column": 16 1091 }, 1092 "end": { 1093 "line": 28, 1094 "column": 20 1095 } 1096 } 1097 }, 1098 "loc": { 1099 "start": { 1100 "line": 28, 1101 "column": 9 1102 }, 1103 "end": { 1104 "line": 28, 1105 "column": 21 1106 } 1107 } 1108 } 1109 ], 1110 "loc": { 1111 "start": { 1112 "line": 27, 1113 "column": 17 1114 }, 1115 "end": { 1116 "line": 29, 1117 "column": 6 1118 } 1119 } 1120 }, 1121 "loc": { 1122 "start": { 1123 "line": 27, 1124 "column": 8 1125 }, 1126 "end": { 1127 "line": 29, 1128 "column": 6 1129 } 1130 } 1131 }, 1132 "loc": { 1133 "start": { 1134 "line": 27, 1135 "column": 8 1136 }, 1137 "end": { 1138 "line": 29, 1139 "column": 6 1140 } 1141 } 1142 }, 1143 "overloads": [], 1144 "decorators": [], 1145 "loc": { 1146 "start": { 1147 "line": 27, 1148 "column": 5 1149 }, 1150 "end": { 1151 "line": 29, 1152 "column": 6 1153 } 1154 } 1155 }, 1156 { 1157 "type": "MethodDefinition", 1158 "key": { 1159 "type": "Identifier", 1160 "name": "baz", 1161 "decorators": [], 1162 "loc": { 1163 "start": { 1164 "line": 31, 1165 "column": 5 1166 }, 1167 "end": { 1168 "line": 31, 1169 "column": 8 1170 } 1171 } 1172 }, 1173 "kind": "method", 1174 "accessibility": "public", 1175 "static": false, 1176 "optional": false, 1177 "computed": false, 1178 "value": { 1179 "type": "FunctionExpression", 1180 "function": { 1181 "type": "ScriptFunction", 1182 "id": { 1183 "type": "Identifier", 1184 "name": "baz", 1185 "decorators": [], 1186 "loc": { 1187 "start": { 1188 "line": 31, 1189 "column": 5 1190 }, 1191 "end": { 1192 "line": 31, 1193 "column": 8 1194 } 1195 } 1196 }, 1197 "generator": false, 1198 "async": false, 1199 "expression": false, 1200 "params": [], 1201 "returnType": { 1202 "type": "ETSUnionType", 1203 "types": [ 1204 { 1205 "type": "ETSTypeReference", 1206 "part": { 1207 "type": "ETSTypeReferencePart", 1208 "name": { 1209 "type": "Identifier", 1210 "name": "C", 1211 "decorators": [], 1212 "loc": { 1213 "start": { 1214 "line": 31, 1215 "column": 12 1216 }, 1217 "end": { 1218 "line": 31, 1219 "column": 13 1220 } 1221 } 1222 }, 1223 "typeParams": { 1224 "type": "TSTypeParameterInstantiation", 1225 "params": [ 1226 { 1227 "type": "ETSTypeReference", 1228 "part": { 1229 "type": "ETSTypeReferencePart", 1230 "name": { 1231 "type": "Identifier", 1232 "name": "T", 1233 "decorators": [], 1234 "loc": { 1235 "start": { 1236 "line": 31, 1237 "column": 14 1238 }, 1239 "end": { 1240 "line": 31, 1241 "column": 15 1242 } 1243 } 1244 }, 1245 "loc": { 1246 "start": { 1247 "line": 31, 1248 "column": 14 1249 }, 1250 "end": { 1251 "line": 31, 1252 "column": 16 1253 } 1254 } 1255 }, 1256 "loc": { 1257 "start": { 1258 "line": 31, 1259 "column": 14 1260 }, 1261 "end": { 1262 "line": 31, 1263 "column": 16 1264 } 1265 } 1266 } 1267 ], 1268 "loc": { 1269 "start": { 1270 "line": 31, 1271 "column": 13 1272 }, 1273 "end": { 1274 "line": 31, 1275 "column": 16 1276 } 1277 } 1278 }, 1279 "loc": { 1280 "start": { 1281 "line": 31, 1282 "column": 12 1283 }, 1284 "end": { 1285 "line": 31, 1286 "column": 18 1287 } 1288 } 1289 }, 1290 "loc": { 1291 "start": { 1292 "line": 31, 1293 "column": 12 1294 }, 1295 "end": { 1296 "line": 31, 1297 "column": 18 1298 } 1299 } 1300 }, 1301 { 1302 "type": "ETSNullType", 1303 "loc": { 1304 "start": { 1305 "line": 31, 1306 "column": 19 1307 }, 1308 "end": { 1309 "line": 31, 1310 "column": 23 1311 } 1312 } 1313 } 1314 ], 1315 "loc": { 1316 "start": { 1317 "line": 31, 1318 "column": 12 1319 }, 1320 "end": { 1321 "line": 31, 1322 "column": 23 1323 } 1324 } 1325 }, 1326 "body": { 1327 "type": "BlockStatement", 1328 "statements": [ 1329 { 1330 "type": "ReturnStatement", 1331 "argument": { 1332 "type": "NullLiteral", 1333 "value": null, 1334 "loc": { 1335 "start": { 1336 "line": 32, 1337 "column": 16 1338 }, 1339 "end": { 1340 "line": 32, 1341 "column": 20 1342 } 1343 } 1344 }, 1345 "loc": { 1346 "start": { 1347 "line": 32, 1348 "column": 9 1349 }, 1350 "end": { 1351 "line": 32, 1352 "column": 21 1353 } 1354 } 1355 } 1356 ], 1357 "loc": { 1358 "start": { 1359 "line": 31, 1360 "column": 24 1361 }, 1362 "end": { 1363 "line": 33, 1364 "column": 6 1365 } 1366 } 1367 }, 1368 "loc": { 1369 "start": { 1370 "line": 31, 1371 "column": 8 1372 }, 1373 "end": { 1374 "line": 33, 1375 "column": 6 1376 } 1377 } 1378 }, 1379 "loc": { 1380 "start": { 1381 "line": 31, 1382 "column": 8 1383 }, 1384 "end": { 1385 "line": 33, 1386 "column": 6 1387 } 1388 } 1389 }, 1390 "overloads": [], 1391 "decorators": [], 1392 "loc": { 1393 "start": { 1394 "line": 31, 1395 "column": 5 1396 }, 1397 "end": { 1398 "line": 33, 1399 "column": 6 1400 } 1401 } 1402 }, 1403 { 1404 "type": "MethodDefinition", 1405 "key": { 1406 "type": "Identifier", 1407 "name": "constructor", 1408 "decorators": [], 1409 "loc": { 1410 "start": { 1411 "line": 1, 1412 "column": 1 1413 }, 1414 "end": { 1415 "line": 1, 1416 "column": 1 1417 } 1418 } 1419 }, 1420 "kind": "constructor", 1421 "static": false, 1422 "optional": false, 1423 "computed": false, 1424 "value": { 1425 "type": "FunctionExpression", 1426 "function": { 1427 "type": "ScriptFunction", 1428 "id": { 1429 "type": "Identifier", 1430 "name": "constructor", 1431 "decorators": [], 1432 "loc": { 1433 "start": { 1434 "line": 1, 1435 "column": 1 1436 }, 1437 "end": { 1438 "line": 1, 1439 "column": 1 1440 } 1441 } 1442 }, 1443 "generator": false, 1444 "async": false, 1445 "expression": false, 1446 "params": [], 1447 "body": { 1448 "type": "BlockStatement", 1449 "statements": [], 1450 "loc": { 1451 "start": { 1452 "line": 1, 1453 "column": 1 1454 }, 1455 "end": { 1456 "line": 1, 1457 "column": 1 1458 } 1459 } 1460 }, 1461 "loc": { 1462 "start": { 1463 "line": 1, 1464 "column": 1 1465 }, 1466 "end": { 1467 "line": 1, 1468 "column": 1 1469 } 1470 } 1471 }, 1472 "loc": { 1473 "start": { 1474 "line": 1, 1475 "column": 1 1476 }, 1477 "end": { 1478 "line": 1, 1479 "column": 1 1480 } 1481 } 1482 }, 1483 "overloads": [], 1484 "decorators": [], 1485 "loc": { 1486 "start": { 1487 "line": 34, 1488 "column": 2 1489 }, 1490 "end": { 1491 "line": 34, 1492 "column": 2 1493 } 1494 } 1495 } 1496 ], 1497 "loc": { 1498 "start": { 1499 "line": 26, 1500 "column": 12 1501 }, 1502 "end": { 1503 "line": 34, 1504 "column": 2 1505 } 1506 } 1507 }, 1508 "loc": { 1509 "start": { 1510 "line": 26, 1511 "column": 1 1512 }, 1513 "end": { 1514 "line": 34, 1515 "column": 2 1516 } 1517 } 1518 }, 1519 { 1520 "type": "ClassDeclaration", 1521 "definition": { 1522 "id": { 1523 "type": "Identifier", 1524 "name": "C", 1525 "decorators": [], 1526 "loc": { 1527 "start": { 1528 "line": 36, 1529 "column": 7 1530 }, 1531 "end": { 1532 "line": 36, 1533 "column": 8 1534 } 1535 } 1536 }, 1537 "typeParameters": { 1538 "type": "TSTypeParameterDeclaration", 1539 "params": [ 1540 { 1541 "type": "TSTypeParameter", 1542 "name": { 1543 "type": "Identifier", 1544 "name": "T", 1545 "decorators": [], 1546 "loc": { 1547 "start": { 1548 "line": 36, 1549 "column": 9 1550 }, 1551 "end": { 1552 "line": 36, 1553 "column": 10 1554 } 1555 } 1556 }, 1557 "loc": { 1558 "start": { 1559 "line": 36, 1560 "column": 9 1561 }, 1562 "end": { 1563 "line": 36, 1564 "column": 11 1565 } 1566 } 1567 } 1568 ], 1569 "loc": { 1570 "start": { 1571 "line": 36, 1572 "column": 8 1573 }, 1574 "end": { 1575 "line": 36, 1576 "column": 11 1577 } 1578 } 1579 }, 1580 "superClass": null, 1581 "implements": [], 1582 "body": [ 1583 { 1584 "type": "MethodDefinition", 1585 "key": { 1586 "type": "Identifier", 1587 "name": "then", 1588 "decorators": [], 1589 "loc": { 1590 "start": { 1591 "line": 37, 1592 "column": 5 1593 }, 1594 "end": { 1595 "line": 37, 1596 "column": 9 1597 } 1598 } 1599 }, 1600 "kind": "method", 1601 "accessibility": "public", 1602 "static": false, 1603 "optional": false, 1604 "computed": false, 1605 "value": { 1606 "type": "FunctionExpression", 1607 "function": { 1608 "type": "ScriptFunction", 1609 "id": { 1610 "type": "Identifier", 1611 "name": "then", 1612 "decorators": [], 1613 "loc": { 1614 "start": { 1615 "line": 37, 1616 "column": 5 1617 }, 1618 "end": { 1619 "line": 37, 1620 "column": 9 1621 } 1622 } 1623 }, 1624 "generator": false, 1625 "async": false, 1626 "expression": false, 1627 "params": [ 1628 { 1629 "type": "ETSParameterExpression", 1630 "name": { 1631 "type": "Identifier", 1632 "name": "a0", 1633 "typeAnnotation": { 1634 "type": "ETSTypeReference", 1635 "part": { 1636 "type": "ETSTypeReferencePart", 1637 "name": { 1638 "type": "Identifier", 1639 "name": "U", 1640 "decorators": [], 1641 "loc": { 1642 "start": { 1643 "line": 37, 1644 "column": 17 1645 }, 1646 "end": { 1647 "line": 37, 1648 "column": 18 1649 } 1650 } 1651 }, 1652 "loc": { 1653 "start": { 1654 "line": 37, 1655 "column": 17 1656 }, 1657 "end": { 1658 "line": 37, 1659 "column": 19 1660 } 1661 } 1662 }, 1663 "loc": { 1664 "start": { 1665 "line": 37, 1666 "column": 17 1667 }, 1668 "end": { 1669 "line": 37, 1670 "column": 19 1671 } 1672 } 1673 }, 1674 "decorators": [], 1675 "loc": { 1676 "start": { 1677 "line": 37, 1678 "column": 13 1679 }, 1680 "end": { 1681 "line": 37, 1682 "column": 19 1683 } 1684 } 1685 }, 1686 "loc": { 1687 "start": { 1688 "line": 37, 1689 "column": 13 1690 }, 1691 "end": { 1692 "line": 37, 1693 "column": 19 1694 } 1695 } 1696 } 1697 ], 1698 "returnType": { 1699 "type": "ETSUnionType", 1700 "types": [ 1701 { 1702 "type": "ETSTypeReference", 1703 "part": { 1704 "type": "ETSTypeReferencePart", 1705 "name": { 1706 "type": "Identifier", 1707 "name": "C", 1708 "decorators": [], 1709 "loc": { 1710 "start": { 1711 "line": 37, 1712 "column": 21 1713 }, 1714 "end": { 1715 "line": 37, 1716 "column": 22 1717 } 1718 } 1719 }, 1720 "typeParams": { 1721 "type": "TSTypeParameterInstantiation", 1722 "params": [ 1723 { 1724 "type": "ETSTypeReference", 1725 "part": { 1726 "type": "ETSTypeReferencePart", 1727 "name": { 1728 "type": "Identifier", 1729 "name": "U", 1730 "decorators": [], 1731 "loc": { 1732 "start": { 1733 "line": 37, 1734 "column": 23 1735 }, 1736 "end": { 1737 "line": 37, 1738 "column": 24 1739 } 1740 } 1741 }, 1742 "loc": { 1743 "start": { 1744 "line": 37, 1745 "column": 23 1746 }, 1747 "end": { 1748 "line": 37, 1749 "column": 25 1750 } 1751 } 1752 }, 1753 "loc": { 1754 "start": { 1755 "line": 37, 1756 "column": 23 1757 }, 1758 "end": { 1759 "line": 37, 1760 "column": 25 1761 } 1762 } 1763 } 1764 ], 1765 "loc": { 1766 "start": { 1767 "line": 37, 1768 "column": 22 1769 }, 1770 "end": { 1771 "line": 37, 1772 "column": 25 1773 } 1774 } 1775 }, 1776 "loc": { 1777 "start": { 1778 "line": 37, 1779 "column": 21 1780 }, 1781 "end": { 1782 "line": 37, 1783 "column": 27 1784 } 1785 } 1786 }, 1787 "loc": { 1788 "start": { 1789 "line": 37, 1790 "column": 21 1791 }, 1792 "end": { 1793 "line": 37, 1794 "column": 27 1795 } 1796 } 1797 }, 1798 { 1799 "type": "ETSNullType", 1800 "loc": { 1801 "start": { 1802 "line": 37, 1803 "column": 28 1804 }, 1805 "end": { 1806 "line": 37, 1807 "column": 32 1808 } 1809 } 1810 } 1811 ], 1812 "loc": { 1813 "start": { 1814 "line": 37, 1815 "column": 21 1816 }, 1817 "end": { 1818 "line": 37, 1819 "column": 32 1820 } 1821 } 1822 }, 1823 "typeParameters": { 1824 "type": "TSTypeParameterDeclaration", 1825 "params": [ 1826 { 1827 "type": "TSTypeParameter", 1828 "name": { 1829 "type": "Identifier", 1830 "name": "U", 1831 "decorators": [], 1832 "loc": { 1833 "start": { 1834 "line": 37, 1835 "column": 10 1836 }, 1837 "end": { 1838 "line": 37, 1839 "column": 11 1840 } 1841 } 1842 }, 1843 "loc": { 1844 "start": { 1845 "line": 37, 1846 "column": 10 1847 }, 1848 "end": { 1849 "line": 37, 1850 "column": 12 1851 } 1852 } 1853 } 1854 ], 1855 "loc": { 1856 "start": { 1857 "line": 37, 1858 "column": 9 1859 }, 1860 "end": { 1861 "line": 37, 1862 "column": 12 1863 } 1864 } 1865 }, 1866 "body": { 1867 "type": "BlockStatement", 1868 "statements": [ 1869 { 1870 "type": "ReturnStatement", 1871 "argument": { 1872 "type": "NullLiteral", 1873 "value": null, 1874 "loc": { 1875 "start": { 1876 "line": 38, 1877 "column": 16 1878 }, 1879 "end": { 1880 "line": 38, 1881 "column": 20 1882 } 1883 } 1884 }, 1885 "loc": { 1886 "start": { 1887 "line": 38, 1888 "column": 9 1889 }, 1890 "end": { 1891 "line": 38, 1892 "column": 21 1893 } 1894 } 1895 } 1896 ], 1897 "loc": { 1898 "start": { 1899 "line": 37, 1900 "column": 33 1901 }, 1902 "end": { 1903 "line": 39, 1904 "column": 6 1905 } 1906 } 1907 }, 1908 "loc": { 1909 "start": { 1910 "line": 37, 1911 "column": 9 1912 }, 1913 "end": { 1914 "line": 39, 1915 "column": 6 1916 } 1917 } 1918 }, 1919 "loc": { 1920 "start": { 1921 "line": 37, 1922 "column": 9 1923 }, 1924 "end": { 1925 "line": 39, 1926 "column": 6 1927 } 1928 } 1929 }, 1930 "overloads": [], 1931 "decorators": [], 1932 "loc": { 1933 "start": { 1934 "line": 37, 1935 "column": 5 1936 }, 1937 "end": { 1938 "line": 39, 1939 "column": 6 1940 } 1941 } 1942 }, 1943 { 1944 "type": "ClassProperty", 1945 "key": { 1946 "type": "Identifier", 1947 "name": "value", 1948 "decorators": [], 1949 "loc": { 1950 "start": { 1951 "line": 41, 1952 "column": 12 1953 }, 1954 "end": { 1955 "line": 41, 1956 "column": 17 1957 } 1958 } 1959 }, 1960 "accessibility": "public", 1961 "static": false, 1962 "readonly": false, 1963 "declare": false, 1964 "optional": false, 1965 "computed": false, 1966 "typeAnnotation": { 1967 "type": "ETSTypeReference", 1968 "part": { 1969 "type": "ETSTypeReferencePart", 1970 "name": { 1971 "type": "Identifier", 1972 "name": "T", 1973 "decorators": [], 1974 "loc": { 1975 "start": { 1976 "line": 41, 1977 "column": 19 1978 }, 1979 "end": { 1980 "line": 41, 1981 "column": 20 1982 } 1983 } 1984 }, 1985 "loc": { 1986 "start": { 1987 "line": 41, 1988 "column": 19 1989 }, 1990 "end": { 1991 "line": 41, 1992 "column": 21 1993 } 1994 } 1995 }, 1996 "loc": { 1997 "start": { 1998 "line": 41, 1999 "column": 19 2000 }, 2001 "end": { 2002 "line": 41, 2003 "column": 21 2004 } 2005 } 2006 }, 2007 "definite": false, 2008 "decorators": [], 2009 "loc": { 2010 "start": { 2011 "line": 41, 2012 "column": 12 2013 }, 2014 "end": { 2015 "line": 41, 2016 "column": 21 2017 } 2018 } 2019 }, 2020 { 2021 "type": "MethodDefinition", 2022 "key": { 2023 "type": "Identifier", 2024 "name": "constructor", 2025 "decorators": [], 2026 "loc": { 2027 "start": { 2028 "line": 1, 2029 "column": 1 2030 }, 2031 "end": { 2032 "line": 1, 2033 "column": 1 2034 } 2035 } 2036 }, 2037 "kind": "constructor", 2038 "static": false, 2039 "optional": false, 2040 "computed": false, 2041 "value": { 2042 "type": "FunctionExpression", 2043 "function": { 2044 "type": "ScriptFunction", 2045 "id": { 2046 "type": "Identifier", 2047 "name": "constructor", 2048 "decorators": [], 2049 "loc": { 2050 "start": { 2051 "line": 1, 2052 "column": 1 2053 }, 2054 "end": { 2055 "line": 1, 2056 "column": 1 2057 } 2058 } 2059 }, 2060 "generator": false, 2061 "async": false, 2062 "expression": false, 2063 "params": [], 2064 "body": { 2065 "type": "BlockStatement", 2066 "statements": [], 2067 "loc": { 2068 "start": { 2069 "line": 1, 2070 "column": 1 2071 }, 2072 "end": { 2073 "line": 1, 2074 "column": 1 2075 } 2076 } 2077 }, 2078 "loc": { 2079 "start": { 2080 "line": 1, 2081 "column": 1 2082 }, 2083 "end": { 2084 "line": 1, 2085 "column": 1 2086 } 2087 } 2088 }, 2089 "loc": { 2090 "start": { 2091 "line": 1, 2092 "column": 1 2093 }, 2094 "end": { 2095 "line": 1, 2096 "column": 1 2097 } 2098 } 2099 }, 2100 "overloads": [], 2101 "decorators": [], 2102 "loc": { 2103 "start": { 2104 "line": 42, 2105 "column": 2 2106 }, 2107 "end": { 2108 "line": 42, 2109 "column": 2 2110 } 2111 } 2112 } 2113 ], 2114 "loc": { 2115 "start": { 2116 "line": 36, 2117 "column": 12 2118 }, 2119 "end": { 2120 "line": 42, 2121 "column": 2 2122 } 2123 } 2124 }, 2125 "loc": { 2126 "start": { 2127 "line": 36, 2128 "column": 1 2129 }, 2130 "end": { 2131 "line": 42, 2132 "column": 2 2133 } 2134 } 2135 }, 2136 { 2137 "type": "ClassDeclaration", 2138 "definition": { 2139 "id": { 2140 "type": "Identifier", 2141 "name": "ETSGLOBAL", 2142 "decorators": [], 2143 "loc": { 2144 "start": { 2145 "line": 1, 2146 "column": 1 2147 }, 2148 "end": { 2149 "line": 1, 2150 "column": 1 2151 } 2152 } 2153 }, 2154 "superClass": null, 2155 "implements": [], 2156 "body": [ 2157 { 2158 "type": "MethodDefinition", 2159 "key": { 2160 "type": "Identifier", 2161 "name": "_$init$_", 2162 "decorators": [], 2163 "loc": { 2164 "start": { 2165 "line": 1, 2166 "column": 1 2167 }, 2168 "end": { 2169 "line": 1, 2170 "column": 1 2171 } 2172 } 2173 }, 2174 "kind": "method", 2175 "accessibility": "public", 2176 "static": true, 2177 "optional": false, 2178 "computed": false, 2179 "value": { 2180 "type": "FunctionExpression", 2181 "function": { 2182 "type": "ScriptFunction", 2183 "id": { 2184 "type": "Identifier", 2185 "name": "_$init$_", 2186 "decorators": [], 2187 "loc": { 2188 "start": { 2189 "line": 1, 2190 "column": 1 2191 }, 2192 "end": { 2193 "line": 1, 2194 "column": 1 2195 } 2196 } 2197 }, 2198 "generator": false, 2199 "async": false, 2200 "expression": false, 2201 "params": [], 2202 "body": { 2203 "type": "BlockStatement", 2204 "statements": [], 2205 "loc": { 2206 "start": { 2207 "line": 1, 2208 "column": 1 2209 }, 2210 "end": { 2211 "line": 1, 2212 "column": 1 2213 } 2214 } 2215 }, 2216 "loc": { 2217 "start": { 2218 "line": 1, 2219 "column": 1 2220 }, 2221 "end": { 2222 "line": 1, 2223 "column": 1 2224 } 2225 } 2226 }, 2227 "loc": { 2228 "start": { 2229 "line": 1, 2230 "column": 1 2231 }, 2232 "end": { 2233 "line": 1, 2234 "column": 1 2235 } 2236 } 2237 }, 2238 "overloads": [], 2239 "decorators": [], 2240 "loc": { 2241 "start": { 2242 "line": 1, 2243 "column": 1 2244 }, 2245 "end": { 2246 "line": 1, 2247 "column": 1 2248 } 2249 } 2250 }, 2251 { 2252 "type": "MethodDefinition", 2253 "key": { 2254 "type": "Identifier", 2255 "name": "bar", 2256 "decorators": [], 2257 "loc": { 2258 "start": { 2259 "line": 44, 2260 "column": 10 2261 }, 2262 "end": { 2263 "line": 44, 2264 "column": 13 2265 } 2266 } 2267 }, 2268 "kind": "method", 2269 "accessibility": "public", 2270 "static": true, 2271 "optional": false, 2272 "computed": false, 2273 "value": { 2274 "type": "FunctionExpression", 2275 "function": { 2276 "type": "ScriptFunction", 2277 "id": { 2278 "type": "Identifier", 2279 "name": "bar", 2280 "decorators": [], 2281 "loc": { 2282 "start": { 2283 "line": 44, 2284 "column": 10 2285 }, 2286 "end": { 2287 "line": 44, 2288 "column": 13 2289 } 2290 } 2291 }, 2292 "generator": false, 2293 "async": false, 2294 "expression": false, 2295 "params": [ 2296 { 2297 "type": "ETSParameterExpression", 2298 "name": { 2299 "type": "Identifier", 2300 "name": "p", 2301 "typeAnnotation": { 2302 "type": "ETSTypeReference", 2303 "part": { 2304 "type": "ETSTypeReferencePart", 2305 "name": { 2306 "type": "Identifier", 2307 "name": "C", 2308 "decorators": [], 2309 "loc": { 2310 "start": { 2311 "line": 44, 2312 "column": 17 2313 }, 2314 "end": { 2315 "line": 44, 2316 "column": 18 2317 } 2318 } 2319 }, 2320 "typeParams": { 2321 "type": "TSTypeParameterInstantiation", 2322 "params": [ 2323 { 2324 "type": "ETSTypeReference", 2325 "part": { 2326 "type": "ETSTypeReferencePart", 2327 "name": { 2328 "type": "Identifier", 2329 "name": "Object", 2330 "decorators": [], 2331 "loc": { 2332 "start": { 2333 "line": 44, 2334 "column": 19 2335 }, 2336 "end": { 2337 "line": 44, 2338 "column": 25 2339 } 2340 } 2341 }, 2342 "loc": { 2343 "start": { 2344 "line": 44, 2345 "column": 19 2346 }, 2347 "end": { 2348 "line": 44, 2349 "column": 26 2350 } 2351 } 2352 }, 2353 "loc": { 2354 "start": { 2355 "line": 44, 2356 "column": 19 2357 }, 2358 "end": { 2359 "line": 44, 2360 "column": 26 2361 } 2362 } 2363 } 2364 ], 2365 "loc": { 2366 "start": { 2367 "line": 44, 2368 "column": 18 2369 }, 2370 "end": { 2371 "line": 44, 2372 "column": 26 2373 } 2374 } 2375 }, 2376 "loc": { 2377 "start": { 2378 "line": 44, 2379 "column": 17 2380 }, 2381 "end": { 2382 "line": 44, 2383 "column": 27 2384 } 2385 } 2386 }, 2387 "loc": { 2388 "start": { 2389 "line": 44, 2390 "column": 17 2391 }, 2392 "end": { 2393 "line": 44, 2394 "column": 27 2395 } 2396 } 2397 }, 2398 "decorators": [], 2399 "loc": { 2400 "start": { 2401 "line": 44, 2402 "column": 14 2403 }, 2404 "end": { 2405 "line": 44, 2406 "column": 27 2407 } 2408 } 2409 }, 2410 "loc": { 2411 "start": { 2412 "line": 44, 2413 "column": 14 2414 }, 2415 "end": { 2416 "line": 44, 2417 "column": 27 2418 } 2419 } 2420 } 2421 ], 2422 "returnType": { 2423 "type": "ETSPrimitiveType", 2424 "loc": { 2425 "start": { 2426 "line": 44, 2427 "column": 29 2428 }, 2429 "end": { 2430 "line": 44, 2431 "column": 33 2432 } 2433 } 2434 }, 2435 "body": { 2436 "type": "BlockStatement", 2437 "statements": [ 2438 { 2439 "type": "VariableDeclaration", 2440 "declarations": [ 2441 { 2442 "type": "VariableDeclarator", 2443 "id": { 2444 "type": "Identifier", 2445 "name": "b_Int", 2446 "typeAnnotation": { 2447 "type": "ETSTypeReference", 2448 "part": { 2449 "type": "ETSTypeReferencePart", 2450 "name": { 2451 "type": "Identifier", 2452 "name": "B", 2453 "decorators": [], 2454 "loc": { 2455 "start": { 2456 "line": 45, 2457 "column": 16 2458 }, 2459 "end": { 2460 "line": 45, 2461 "column": 17 2462 } 2463 } 2464 }, 2465 "typeParams": { 2466 "type": "TSTypeParameterInstantiation", 2467 "params": [ 2468 { 2469 "type": "ETSTypeReference", 2470 "part": { 2471 "type": "ETSTypeReferencePart", 2472 "name": { 2473 "type": "Identifier", 2474 "name": "Int", 2475 "decorators": [], 2476 "loc": { 2477 "start": { 2478 "line": 45, 2479 "column": 18 2480 }, 2481 "end": { 2482 "line": 45, 2483 "column": 21 2484 } 2485 } 2486 }, 2487 "loc": { 2488 "start": { 2489 "line": 45, 2490 "column": 18 2491 }, 2492 "end": { 2493 "line": 45, 2494 "column": 22 2495 } 2496 } 2497 }, 2498 "loc": { 2499 "start": { 2500 "line": 45, 2501 "column": 18 2502 }, 2503 "end": { 2504 "line": 45, 2505 "column": 22 2506 } 2507 } 2508 } 2509 ], 2510 "loc": { 2511 "start": { 2512 "line": 45, 2513 "column": 17 2514 }, 2515 "end": { 2516 "line": 45, 2517 "column": 22 2518 } 2519 } 2520 }, 2521 "loc": { 2522 "start": { 2523 "line": 45, 2524 "column": 16 2525 }, 2526 "end": { 2527 "line": 45, 2528 "column": 24 2529 } 2530 } 2531 }, 2532 "loc": { 2533 "start": { 2534 "line": 45, 2535 "column": 16 2536 }, 2537 "end": { 2538 "line": 45, 2539 "column": 24 2540 } 2541 } 2542 }, 2543 "decorators": [], 2544 "loc": { 2545 "start": { 2546 "line": 45, 2547 "column": 9 2548 }, 2549 "end": { 2550 "line": 45, 2551 "column": 14 2552 } 2553 } 2554 }, 2555 "init": { 2556 "type": "ETSNewClassInstanceExpression", 2557 "typeReference": { 2558 "type": "ETSTypeReference", 2559 "part": { 2560 "type": "ETSTypeReferencePart", 2561 "name": { 2562 "type": "Identifier", 2563 "name": "B", 2564 "decorators": [], 2565 "loc": { 2566 "start": { 2567 "line": 45, 2568 "column": 29 2569 }, 2570 "end": { 2571 "line": 45, 2572 "column": 30 2573 } 2574 } 2575 }, 2576 "typeParams": { 2577 "type": "TSTypeParameterInstantiation", 2578 "params": [ 2579 { 2580 "type": "ETSTypeReference", 2581 "part": { 2582 "type": "ETSTypeReferencePart", 2583 "name": { 2584 "type": "Identifier", 2585 "name": "Int", 2586 "decorators": [], 2587 "loc": { 2588 "start": { 2589 "line": 45, 2590 "column": 31 2591 }, 2592 "end": { 2593 "line": 45, 2594 "column": 34 2595 } 2596 } 2597 }, 2598 "loc": { 2599 "start": { 2600 "line": 45, 2601 "column": 31 2602 }, 2603 "end": { 2604 "line": 45, 2605 "column": 35 2606 } 2607 } 2608 }, 2609 "loc": { 2610 "start": { 2611 "line": 45, 2612 "column": 31 2613 }, 2614 "end": { 2615 "line": 45, 2616 "column": 35 2617 } 2618 } 2619 } 2620 ], 2621 "loc": { 2622 "start": { 2623 "line": 45, 2624 "column": 30 2625 }, 2626 "end": { 2627 "line": 45, 2628 "column": 35 2629 } 2630 } 2631 }, 2632 "loc": { 2633 "start": { 2634 "line": 45, 2635 "column": 29 2636 }, 2637 "end": { 2638 "line": 45, 2639 "column": 36 2640 } 2641 } 2642 }, 2643 "loc": { 2644 "start": { 2645 "line": 45, 2646 "column": 29 2647 }, 2648 "end": { 2649 "line": 45, 2650 "column": 36 2651 } 2652 } 2653 }, 2654 "arguments": [], 2655 "loc": { 2656 "start": { 2657 "line": 45, 2658 "column": 25 2659 }, 2660 "end": { 2661 "line": 45, 2662 "column": 38 2663 } 2664 } 2665 }, 2666 "loc": { 2667 "start": { 2668 "line": 45, 2669 "column": 9 2670 }, 2671 "end": { 2672 "line": 45, 2673 "column": 38 2674 } 2675 } 2676 } 2677 ], 2678 "kind": "let", 2679 "loc": { 2680 "start": { 2681 "line": 45, 2682 "column": 5 2683 }, 2684 "end": { 2685 "line": 45, 2686 "column": 38 2687 } 2688 } 2689 }, 2690 { 2691 "type": "ExpressionStatement", 2692 "expression": { 2693 "type": "CallExpression", 2694 "callee": { 2695 "type": "MemberExpression", 2696 "object": { 2697 "type": "Identifier", 2698 "name": "b_Int", 2699 "decorators": [], 2700 "loc": { 2701 "start": { 2702 "line": 46, 2703 "column": 5 2704 }, 2705 "end": { 2706 "line": 46, 2707 "column": 10 2708 } 2709 } 2710 }, 2711 "property": { 2712 "type": "Identifier", 2713 "name": "test", 2714 "decorators": [], 2715 "loc": { 2716 "start": { 2717 "line": 46, 2718 "column": 11 2719 }, 2720 "end": { 2721 "line": 46, 2722 "column": 15 2723 } 2724 } 2725 }, 2726 "computed": false, 2727 "optional": false, 2728 "loc": { 2729 "start": { 2730 "line": 46, 2731 "column": 5 2732 }, 2733 "end": { 2734 "line": 46, 2735 "column": 15 2736 } 2737 } 2738 }, 2739 "arguments": [ 2740 { 2741 "type": "Identifier", 2742 "name": "b_Int", 2743 "decorators": [], 2744 "loc": { 2745 "start": { 2746 "line": 46, 2747 "column": 16 2748 }, 2749 "end": { 2750 "line": 46, 2751 "column": 21 2752 } 2753 } 2754 } 2755 ], 2756 "optional": false, 2757 "loc": { 2758 "start": { 2759 "line": 46, 2760 "column": 5 2761 }, 2762 "end": { 2763 "line": 46, 2764 "column": 22 2765 } 2766 } 2767 }, 2768 "loc": { 2769 "start": { 2770 "line": 46, 2771 "column": 5 2772 }, 2773 "end": { 2774 "line": 46, 2775 "column": 23 2776 } 2777 } 2778 }, 2779 { 2780 "type": "VariableDeclaration", 2781 "declarations": [ 2782 { 2783 "type": "VariableDeclarator", 2784 "id": { 2785 "type": "Identifier", 2786 "name": "p1", 2787 "typeAnnotation": { 2788 "type": "ETSUnionType", 2789 "types": [ 2790 { 2791 "type": "ETSTypeReference", 2792 "part": { 2793 "type": "ETSTypeReferencePart", 2794 "name": { 2795 "type": "Identifier", 2796 "name": "C", 2797 "decorators": [], 2798 "loc": { 2799 "start": { 2800 "line": 48, 2801 "column": 13 2802 }, 2803 "end": { 2804 "line": 48, 2805 "column": 14 2806 } 2807 } 2808 }, 2809 "typeParams": { 2810 "type": "TSTypeParameterInstantiation", 2811 "params": [ 2812 { 2813 "type": "ETSTypeReference", 2814 "part": { 2815 "type": "ETSTypeReferencePart", 2816 "name": { 2817 "type": "Identifier", 2818 "name": "Object", 2819 "decorators": [], 2820 "loc": { 2821 "start": { 2822 "line": 48, 2823 "column": 15 2824 }, 2825 "end": { 2826 "line": 48, 2827 "column": 21 2828 } 2829 } 2830 }, 2831 "loc": { 2832 "start": { 2833 "line": 48, 2834 "column": 15 2835 }, 2836 "end": { 2837 "line": 48, 2838 "column": 22 2839 } 2840 } 2841 }, 2842 "loc": { 2843 "start": { 2844 "line": 48, 2845 "column": 15 2846 }, 2847 "end": { 2848 "line": 48, 2849 "column": 22 2850 } 2851 } 2852 } 2853 ], 2854 "loc": { 2855 "start": { 2856 "line": 48, 2857 "column": 14 2858 }, 2859 "end": { 2860 "line": 48, 2861 "column": 22 2862 } 2863 } 2864 }, 2865 "loc": { 2866 "start": { 2867 "line": 48, 2868 "column": 13 2869 }, 2870 "end": { 2871 "line": 48, 2872 "column": 24 2873 } 2874 } 2875 }, 2876 "loc": { 2877 "start": { 2878 "line": 48, 2879 "column": 13 2880 }, 2881 "end": { 2882 "line": 48, 2883 "column": 24 2884 } 2885 } 2886 }, 2887 { 2888 "type": "ETSNullType", 2889 "loc": { 2890 "start": { 2891 "line": 48, 2892 "column": 25 2893 }, 2894 "end": { 2895 "line": 48, 2896 "column": 29 2897 } 2898 } 2899 } 2900 ], 2901 "loc": { 2902 "start": { 2903 "line": 48, 2904 "column": 13 2905 }, 2906 "end": { 2907 "line": 48, 2908 "column": 29 2909 } 2910 } 2911 }, 2912 "decorators": [], 2913 "loc": { 2914 "start": { 2915 "line": 48, 2916 "column": 9 2917 }, 2918 "end": { 2919 "line": 48, 2920 "column": 11 2921 } 2922 } 2923 }, 2924 "init": { 2925 "type": "CallExpression", 2926 "callee": { 2927 "type": "MemberExpression", 2928 "object": { 2929 "type": "Identifier", 2930 "name": "p", 2931 "decorators": [], 2932 "loc": { 2933 "start": { 2934 "line": 48, 2935 "column": 32 2936 }, 2937 "end": { 2938 "line": 48, 2939 "column": 33 2940 } 2941 } 2942 }, 2943 "property": { 2944 "type": "Identifier", 2945 "name": "then", 2946 "decorators": [], 2947 "loc": { 2948 "start": { 2949 "line": 48, 2950 "column": 34 2951 }, 2952 "end": { 2953 "line": 48, 2954 "column": 38 2955 } 2956 } 2957 }, 2958 "computed": false, 2959 "optional": false, 2960 "loc": { 2961 "start": { 2962 "line": 48, 2963 "column": 32 2964 }, 2965 "end": { 2966 "line": 48, 2967 "column": 38 2968 } 2969 } 2970 }, 2971 "arguments": [ 2972 { 2973 "type": "ETSNewClassInstanceExpression", 2974 "typeReference": { 2975 "type": "ETSTypeReference", 2976 "part": { 2977 "type": "ETSTypeReferencePart", 2978 "name": { 2979 "type": "Identifier", 2980 "name": "Object", 2981 "decorators": [], 2982 "loc": { 2983 "start": { 2984 "line": 48, 2985 "column": 51 2986 }, 2987 "end": { 2988 "line": 48, 2989 "column": 57 2990 } 2991 } 2992 }, 2993 "loc": { 2994 "start": { 2995 "line": 48, 2996 "column": 51 2997 }, 2998 "end": { 2999 "line": 48, 3000 "column": 58 3001 } 3002 } 3003 }, 3004 "loc": { 3005 "start": { 3006 "line": 48, 3007 "column": 51 3008 }, 3009 "end": { 3010 "line": 48, 3011 "column": 58 3012 } 3013 } 3014 }, 3015 "arguments": [], 3016 "loc": { 3017 "start": { 3018 "line": 48, 3019 "column": 47 3020 }, 3021 "end": { 3022 "line": 48, 3023 "column": 60 3024 } 3025 } 3026 } 3027 ], 3028 "optional": false, 3029 "typeParameters": { 3030 "type": "TSTypeParameterInstantiation", 3031 "params": [ 3032 { 3033 "type": "ETSTypeReference", 3034 "part": { 3035 "type": "ETSTypeReferencePart", 3036 "name": { 3037 "type": "Identifier", 3038 "name": "Object", 3039 "decorators": [], 3040 "loc": { 3041 "start": { 3042 "line": 48, 3043 "column": 39 3044 }, 3045 "end": { 3046 "line": 48, 3047 "column": 45 3048 } 3049 } 3050 }, 3051 "loc": { 3052 "start": { 3053 "line": 48, 3054 "column": 39 3055 }, 3056 "end": { 3057 "line": 48, 3058 "column": 46 3059 } 3060 } 3061 }, 3062 "loc": { 3063 "start": { 3064 "line": 48, 3065 "column": 39 3066 }, 3067 "end": { 3068 "line": 48, 3069 "column": 46 3070 } 3071 } 3072 } 3073 ], 3074 "loc": { 3075 "start": { 3076 "line": 48, 3077 "column": 38 3078 }, 3079 "end": { 3080 "line": 48, 3081 "column": 46 3082 } 3083 } 3084 }, 3085 "loc": { 3086 "start": { 3087 "line": 48, 3088 "column": 32 3089 }, 3090 "end": { 3091 "line": 48, 3092 "column": 60 3093 } 3094 } 3095 }, 3096 "loc": { 3097 "start": { 3098 "line": 48, 3099 "column": 9 3100 }, 3101 "end": { 3102 "line": 48, 3103 "column": 60 3104 } 3105 } 3106 } 3107 ], 3108 "kind": "let", 3109 "loc": { 3110 "start": { 3111 "line": 48, 3112 "column": 5 3113 }, 3114 "end": { 3115 "line": 48, 3116 "column": 61 3117 } 3118 } 3119 }, 3120 { 3121 "type": "VariableDeclaration", 3122 "declarations": [ 3123 { 3124 "type": "VariableDeclarator", 3125 "id": { 3126 "type": "Identifier", 3127 "name": "p2", 3128 "typeAnnotation": { 3129 "type": "ETSTypeReference", 3130 "part": { 3131 "type": "ETSTypeReferencePart", 3132 "name": { 3133 "type": "Identifier", 3134 "name": "C", 3135 "decorators": [], 3136 "loc": { 3137 "start": { 3138 "line": 49, 3139 "column": 13 3140 }, 3141 "end": { 3142 "line": 49, 3143 "column": 14 3144 } 3145 } 3146 }, 3147 "typeParams": { 3148 "type": "TSTypeParameterInstantiation", 3149 "params": [ 3150 { 3151 "type": "ETSTypeReference", 3152 "part": { 3153 "type": "ETSTypeReferencePart", 3154 "name": { 3155 "type": "Identifier", 3156 "name": "A", 3157 "decorators": [], 3158 "loc": { 3159 "start": { 3160 "line": 49, 3161 "column": 15 3162 }, 3163 "end": { 3164 "line": 49, 3165 "column": 16 3166 } 3167 } 3168 }, 3169 "typeParams": { 3170 "type": "TSTypeParameterInstantiation", 3171 "params": [ 3172 { 3173 "type": "ETSTypeReference", 3174 "part": { 3175 "type": "ETSTypeReferencePart", 3176 "name": { 3177 "type": "Identifier", 3178 "name": "A", 3179 "decorators": [], 3180 "loc": { 3181 "start": { 3182 "line": 49, 3183 "column": 17 3184 }, 3185 "end": { 3186 "line": 49, 3187 "column": 18 3188 } 3189 } 3190 }, 3191 "typeParams": { 3192 "type": "TSTypeParameterInstantiation", 3193 "params": [ 3194 { 3195 "type": "ETSTypeReference", 3196 "part": { 3197 "type": "ETSTypeReferencePart", 3198 "name": { 3199 "type": "Identifier", 3200 "name": "Object", 3201 "decorators": [], 3202 "loc": { 3203 "start": { 3204 "line": 49, 3205 "column": 19 3206 }, 3207 "end": { 3208 "line": 49, 3209 "column": 25 3210 } 3211 } 3212 }, 3213 "loc": { 3214 "start": { 3215 "line": 49, 3216 "column": 19 3217 }, 3218 "end": { 3219 "line": 49, 3220 "column": 28 3221 } 3222 } 3223 }, 3224 "loc": { 3225 "start": { 3226 "line": 49, 3227 "column": 19 3228 }, 3229 "end": { 3230 "line": 49, 3231 "column": 28 3232 } 3233 } 3234 } 3235 ], 3236 "loc": { 3237 "start": { 3238 "line": 49, 3239 "column": 18 3240 }, 3241 "end": { 3242 "line": 49, 3243 "column": 28 3244 } 3245 } 3246 }, 3247 "loc": { 3248 "start": { 3249 "line": 49, 3250 "column": 17 3251 }, 3252 "end": { 3253 "line": 49, 3254 "column": 28 3255 } 3256 } 3257 }, 3258 "loc": { 3259 "start": { 3260 "line": 49, 3261 "column": 17 3262 }, 3263 "end": { 3264 "line": 49, 3265 "column": 28 3266 } 3267 } 3268 } 3269 ], 3270 "loc": { 3271 "start": { 3272 "line": 49, 3273 "column": 16 3274 }, 3275 "end": { 3276 "line": 49, 3277 "column": 28 3278 } 3279 } 3280 }, 3281 "loc": { 3282 "start": { 3283 "line": 49, 3284 "column": 15 3285 }, 3286 "end": { 3287 "line": 49, 3288 "column": 28 3289 } 3290 } 3291 }, 3292 "loc": { 3293 "start": { 3294 "line": 49, 3295 "column": 15 3296 }, 3297 "end": { 3298 "line": 49, 3299 "column": 28 3300 } 3301 } 3302 } 3303 ], 3304 "loc": { 3305 "start": { 3306 "line": 49, 3307 "column": 14 3308 }, 3309 "end": { 3310 "line": 49, 3311 "column": 28 3312 } 3313 } 3314 }, 3315 "loc": { 3316 "start": { 3317 "line": 49, 3318 "column": 13 3319 }, 3320 "end": { 3321 "line": 49, 3322 "column": 30 3323 } 3324 } 3325 }, 3326 "loc": { 3327 "start": { 3328 "line": 49, 3329 "column": 13 3330 }, 3331 "end": { 3332 "line": 49, 3333 "column": 30 3334 } 3335 } 3336 }, 3337 "decorators": [], 3338 "loc": { 3339 "start": { 3340 "line": 49, 3341 "column": 9 3342 }, 3343 "end": { 3344 "line": 49, 3345 "column": 11 3346 } 3347 } 3348 }, 3349 "init": { 3350 "type": "ETSNewClassInstanceExpression", 3351 "typeReference": { 3352 "type": "ETSTypeReference", 3353 "part": { 3354 "type": "ETSTypeReferencePart", 3355 "name": { 3356 "type": "Identifier", 3357 "name": "C", 3358 "decorators": [], 3359 "loc": { 3360 "start": { 3361 "line": 49, 3362 "column": 35 3363 }, 3364 "end": { 3365 "line": 49, 3366 "column": 36 3367 } 3368 } 3369 }, 3370 "typeParams": { 3371 "type": "TSTypeParameterInstantiation", 3372 "params": [ 3373 { 3374 "type": "ETSTypeReference", 3375 "part": { 3376 "type": "ETSTypeReferencePart", 3377 "name": { 3378 "type": "Identifier", 3379 "name": "A", 3380 "decorators": [], 3381 "loc": { 3382 "start": { 3383 "line": 49, 3384 "column": 37 3385 }, 3386 "end": { 3387 "line": 49, 3388 "column": 38 3389 } 3390 } 3391 }, 3392 "typeParams": { 3393 "type": "TSTypeParameterInstantiation", 3394 "params": [ 3395 { 3396 "type": "ETSTypeReference", 3397 "part": { 3398 "type": "ETSTypeReferencePart", 3399 "name": { 3400 "type": "Identifier", 3401 "name": "A", 3402 "decorators": [], 3403 "loc": { 3404 "start": { 3405 "line": 49, 3406 "column": 39 3407 }, 3408 "end": { 3409 "line": 49, 3410 "column": 40 3411 } 3412 } 3413 }, 3414 "typeParams": { 3415 "type": "TSTypeParameterInstantiation", 3416 "params": [ 3417 { 3418 "type": "ETSTypeReference", 3419 "part": { 3420 "type": "ETSTypeReferencePart", 3421 "name": { 3422 "type": "Identifier", 3423 "name": "Object", 3424 "decorators": [], 3425 "loc": { 3426 "start": { 3427 "line": 49, 3428 "column": 41 3429 }, 3430 "end": { 3431 "line": 49, 3432 "column": 47 3433 } 3434 } 3435 }, 3436 "loc": { 3437 "start": { 3438 "line": 49, 3439 "column": 41 3440 }, 3441 "end": { 3442 "line": 49, 3443 "column": 50 3444 } 3445 } 3446 }, 3447 "loc": { 3448 "start": { 3449 "line": 49, 3450 "column": 41 3451 }, 3452 "end": { 3453 "line": 49, 3454 "column": 50 3455 } 3456 } 3457 } 3458 ], 3459 "loc": { 3460 "start": { 3461 "line": 49, 3462 "column": 40 3463 }, 3464 "end": { 3465 "line": 49, 3466 "column": 50 3467 } 3468 } 3469 }, 3470 "loc": { 3471 "start": { 3472 "line": 49, 3473 "column": 39 3474 }, 3475 "end": { 3476 "line": 49, 3477 "column": 50 3478 } 3479 } 3480 }, 3481 "loc": { 3482 "start": { 3483 "line": 49, 3484 "column": 39 3485 }, 3486 "end": { 3487 "line": 49, 3488 "column": 50 3489 } 3490 } 3491 } 3492 ], 3493 "loc": { 3494 "start": { 3495 "line": 49, 3496 "column": 38 3497 }, 3498 "end": { 3499 "line": 49, 3500 "column": 50 3501 } 3502 } 3503 }, 3504 "loc": { 3505 "start": { 3506 "line": 49, 3507 "column": 37 3508 }, 3509 "end": { 3510 "line": 49, 3511 "column": 50 3512 } 3513 } 3514 }, 3515 "loc": { 3516 "start": { 3517 "line": 49, 3518 "column": 37 3519 }, 3520 "end": { 3521 "line": 49, 3522 "column": 50 3523 } 3524 } 3525 } 3526 ], 3527 "loc": { 3528 "start": { 3529 "line": 49, 3530 "column": 36 3531 }, 3532 "end": { 3533 "line": 49, 3534 "column": 50 3535 } 3536 } 3537 }, 3538 "loc": { 3539 "start": { 3540 "line": 49, 3541 "column": 35 3542 }, 3543 "end": { 3544 "line": 49, 3545 "column": 51 3546 } 3547 } 3548 }, 3549 "loc": { 3550 "start": { 3551 "line": 49, 3552 "column": 35 3553 }, 3554 "end": { 3555 "line": 49, 3556 "column": 51 3557 } 3558 } 3559 }, 3560 "arguments": [], 3561 "loc": { 3562 "start": { 3563 "line": 49, 3564 "column": 31 3565 }, 3566 "end": { 3567 "line": 49, 3568 "column": 53 3569 } 3570 } 3571 }, 3572 "loc": { 3573 "start": { 3574 "line": 49, 3575 "column": 9 3576 }, 3577 "end": { 3578 "line": 49, 3579 "column": 53 3580 } 3581 } 3582 } 3583 ], 3584 "kind": "let", 3585 "loc": { 3586 "start": { 3587 "line": 49, 3588 "column": 5 3589 }, 3590 "end": { 3591 "line": 49, 3592 "column": 53 3593 } 3594 } 3595 }, 3596 { 3597 "type": "ExpressionStatement", 3598 "expression": { 3599 "type": "AssignmentExpression", 3600 "operator": "=", 3601 "left": { 3602 "type": "Identifier", 3603 "name": "p1", 3604 "decorators": [], 3605 "loc": { 3606 "start": { 3607 "line": 50, 3608 "column": 5 3609 }, 3610 "end": { 3611 "line": 50, 3612 "column": 7 3613 } 3614 } 3615 }, 3616 "right": { 3617 "type": "CallExpression", 3618 "callee": { 3619 "type": "MemberExpression", 3620 "object": { 3621 "type": "Identifier", 3622 "name": "p2", 3623 "decorators": [], 3624 "loc": { 3625 "start": { 3626 "line": 50, 3627 "column": 10 3628 }, 3629 "end": { 3630 "line": 50, 3631 "column": 12 3632 } 3633 } 3634 }, 3635 "property": { 3636 "type": "Identifier", 3637 "name": "then", 3638 "decorators": [], 3639 "loc": { 3640 "start": { 3641 "line": 50, 3642 "column": 13 3643 }, 3644 "end": { 3645 "line": 50, 3646 "column": 17 3647 } 3648 } 3649 }, 3650 "computed": false, 3651 "optional": false, 3652 "loc": { 3653 "start": { 3654 "line": 50, 3655 "column": 10 3656 }, 3657 "end": { 3658 "line": 50, 3659 "column": 17 3660 } 3661 } 3662 }, 3663 "arguments": [ 3664 { 3665 "type": "ETSNewClassInstanceExpression", 3666 "typeReference": { 3667 "type": "ETSTypeReference", 3668 "part": { 3669 "type": "ETSTypeReferencePart", 3670 "name": { 3671 "type": "Identifier", 3672 "name": "Object", 3673 "decorators": [], 3674 "loc": { 3675 "start": { 3676 "line": 50, 3677 "column": 30 3678 }, 3679 "end": { 3680 "line": 50, 3681 "column": 36 3682 } 3683 } 3684 }, 3685 "loc": { 3686 "start": { 3687 "line": 50, 3688 "column": 30 3689 }, 3690 "end": { 3691 "line": 50, 3692 "column": 37 3693 } 3694 } 3695 }, 3696 "loc": { 3697 "start": { 3698 "line": 50, 3699 "column": 30 3700 }, 3701 "end": { 3702 "line": 50, 3703 "column": 37 3704 } 3705 } 3706 }, 3707 "arguments": [], 3708 "loc": { 3709 "start": { 3710 "line": 50, 3711 "column": 26 3712 }, 3713 "end": { 3714 "line": 50, 3715 "column": 39 3716 } 3717 } 3718 } 3719 ], 3720 "optional": false, 3721 "typeParameters": { 3722 "type": "TSTypeParameterInstantiation", 3723 "params": [ 3724 { 3725 "type": "ETSTypeReference", 3726 "part": { 3727 "type": "ETSTypeReferencePart", 3728 "name": { 3729 "type": "Identifier", 3730 "name": "Object", 3731 "decorators": [], 3732 "loc": { 3733 "start": { 3734 "line": 50, 3735 "column": 18 3736 }, 3737 "end": { 3738 "line": 50, 3739 "column": 24 3740 } 3741 } 3742 }, 3743 "loc": { 3744 "start": { 3745 "line": 50, 3746 "column": 18 3747 }, 3748 "end": { 3749 "line": 50, 3750 "column": 25 3751 } 3752 } 3753 }, 3754 "loc": { 3755 "start": { 3756 "line": 50, 3757 "column": 18 3758 }, 3759 "end": { 3760 "line": 50, 3761 "column": 25 3762 } 3763 } 3764 } 3765 ], 3766 "loc": { 3767 "start": { 3768 "line": 50, 3769 "column": 17 3770 }, 3771 "end": { 3772 "line": 50, 3773 "column": 25 3774 } 3775 } 3776 }, 3777 "loc": { 3778 "start": { 3779 "line": 50, 3780 "column": 10 3781 }, 3782 "end": { 3783 "line": 50, 3784 "column": 39 3785 } 3786 } 3787 }, 3788 "loc": { 3789 "start": { 3790 "line": 50, 3791 "column": 5 3792 }, 3793 "end": { 3794 "line": 50, 3795 "column": 39 3796 } 3797 } 3798 }, 3799 "loc": { 3800 "start": { 3801 "line": 50, 3802 "column": 5 3803 }, 3804 "end": { 3805 "line": 50, 3806 "column": 40 3807 } 3808 } 3809 }, 3810 { 3811 "type": "ExpressionStatement", 3812 "expression": { 3813 "type": "AssignmentExpression", 3814 "operator": "=", 3815 "left": { 3816 "type": "Identifier", 3817 "name": "p1", 3818 "decorators": [], 3819 "loc": { 3820 "start": { 3821 "line": 51, 3822 "column": 5 3823 }, 3824 "end": { 3825 "line": 51, 3826 "column": 7 3827 } 3828 } 3829 }, 3830 "right": { 3831 "type": "CallExpression", 3832 "callee": { 3833 "type": "MemberExpression", 3834 "object": { 3835 "type": "TSNonNullExpression", 3836 "expression": { 3837 "type": "CallExpression", 3838 "callee": { 3839 "type": "MemberExpression", 3840 "object": { 3841 "type": "CallExpression", 3842 "callee": { 3843 "type": "MemberExpression", 3844 "object": { 3845 "type": "MemberExpression", 3846 "object": { 3847 "type": "Identifier", 3848 "name": "p2", 3849 "decorators": [], 3850 "loc": { 3851 "start": { 3852 "line": 51, 3853 "column": 10 3854 }, 3855 "end": { 3856 "line": 51, 3857 "column": 12 3858 } 3859 } 3860 }, 3861 "property": { 3862 "type": "Identifier", 3863 "name": "value", 3864 "decorators": [], 3865 "loc": { 3866 "start": { 3867 "line": 51, 3868 "column": 13 3869 }, 3870 "end": { 3871 "line": 51, 3872 "column": 18 3873 } 3874 } 3875 }, 3876 "computed": false, 3877 "optional": false, 3878 "loc": { 3879 "start": { 3880 "line": 51, 3881 "column": 10 3882 }, 3883 "end": { 3884 "line": 51, 3885 "column": 18 3886 } 3887 } 3888 }, 3889 "property": { 3890 "type": "Identifier", 3891 "name": "bar", 3892 "decorators": [], 3893 "loc": { 3894 "start": { 3895 "line": 51, 3896 "column": 19 3897 }, 3898 "end": { 3899 "line": 51, 3900 "column": 22 3901 } 3902 } 3903 }, 3904 "computed": false, 3905 "optional": false, 3906 "loc": { 3907 "start": { 3908 "line": 51, 3909 "column": 10 3910 }, 3911 "end": { 3912 "line": 51, 3913 "column": 22 3914 } 3915 } 3916 }, 3917 "arguments": [], 3918 "optional": false, 3919 "loc": { 3920 "start": { 3921 "line": 51, 3922 "column": 10 3923 }, 3924 "end": { 3925 "line": 51, 3926 "column": 24 3927 } 3928 } 3929 }, 3930 "property": { 3931 "type": "Identifier", 3932 "name": "baz", 3933 "decorators": [], 3934 "loc": { 3935 "start": { 3936 "line": 51, 3937 "column": 25 3938 }, 3939 "end": { 3940 "line": 51, 3941 "column": 28 3942 } 3943 } 3944 }, 3945 "computed": false, 3946 "optional": false, 3947 "loc": { 3948 "start": { 3949 "line": 51, 3950 "column": 10 3951 }, 3952 "end": { 3953 "line": 51, 3954 "column": 28 3955 } 3956 } 3957 }, 3958 "arguments": [], 3959 "optional": false, 3960 "loc": { 3961 "start": { 3962 "line": 51, 3963 "column": 10 3964 }, 3965 "end": { 3966 "line": 51, 3967 "column": 30 3968 } 3969 } 3970 }, 3971 "loc": { 3972 "start": { 3973 "line": 51, 3974 "column": 10 3975 }, 3976 "end": { 3977 "line": 51, 3978 "column": 31 3979 } 3980 } 3981 }, 3982 "property": { 3983 "type": "Identifier", 3984 "name": "then", 3985 "decorators": [], 3986 "loc": { 3987 "start": { 3988 "line": 51, 3989 "column": 32 3990 }, 3991 "end": { 3992 "line": 51, 3993 "column": 36 3994 } 3995 } 3996 }, 3997 "computed": false, 3998 "optional": false, 3999 "loc": { 4000 "start": { 4001 "line": 51, 4002 "column": 10 4003 }, 4004 "end": { 4005 "line": 51, 4006 "column": 36 4007 } 4008 } 4009 }, 4010 "arguments": [ 4011 { 4012 "type": "ETSNewClassInstanceExpression", 4013 "typeReference": { 4014 "type": "ETSTypeReference", 4015 "part": { 4016 "type": "ETSTypeReferencePart", 4017 "name": { 4018 "type": "Identifier", 4019 "name": "Object", 4020 "decorators": [], 4021 "loc": { 4022 "start": { 4023 "line": 51, 4024 "column": 49 4025 }, 4026 "end": { 4027 "line": 51, 4028 "column": 55 4029 } 4030 } 4031 }, 4032 "loc": { 4033 "start": { 4034 "line": 51, 4035 "column": 49 4036 }, 4037 "end": { 4038 "line": 51, 4039 "column": 56 4040 } 4041 } 4042 }, 4043 "loc": { 4044 "start": { 4045 "line": 51, 4046 "column": 49 4047 }, 4048 "end": { 4049 "line": 51, 4050 "column": 56 4051 } 4052 } 4053 }, 4054 "arguments": [], 4055 "loc": { 4056 "start": { 4057 "line": 51, 4058 "column": 45 4059 }, 4060 "end": { 4061 "line": 51, 4062 "column": 58 4063 } 4064 } 4065 } 4066 ], 4067 "optional": false, 4068 "typeParameters": { 4069 "type": "TSTypeParameterInstantiation", 4070 "params": [ 4071 { 4072 "type": "ETSTypeReference", 4073 "part": { 4074 "type": "ETSTypeReferencePart", 4075 "name": { 4076 "type": "Identifier", 4077 "name": "Object", 4078 "decorators": [], 4079 "loc": { 4080 "start": { 4081 "line": 51, 4082 "column": 37 4083 }, 4084 "end": { 4085 "line": 51, 4086 "column": 43 4087 } 4088 } 4089 }, 4090 "loc": { 4091 "start": { 4092 "line": 51, 4093 "column": 37 4094 }, 4095 "end": { 4096 "line": 51, 4097 "column": 44 4098 } 4099 } 4100 }, 4101 "loc": { 4102 "start": { 4103 "line": 51, 4104 "column": 37 4105 }, 4106 "end": { 4107 "line": 51, 4108 "column": 44 4109 } 4110 } 4111 } 4112 ], 4113 "loc": { 4114 "start": { 4115 "line": 51, 4116 "column": 36 4117 }, 4118 "end": { 4119 "line": 51, 4120 "column": 44 4121 } 4122 } 4123 }, 4124 "loc": { 4125 "start": { 4126 "line": 51, 4127 "column": 10 4128 }, 4129 "end": { 4130 "line": 51, 4131 "column": 58 4132 } 4133 } 4134 }, 4135 "loc": { 4136 "start": { 4137 "line": 51, 4138 "column": 5 4139 }, 4140 "end": { 4141 "line": 51, 4142 "column": 58 4143 } 4144 } 4145 }, 4146 "loc": { 4147 "start": { 4148 "line": 51, 4149 "column": 5 4150 }, 4151 "end": { 4152 "line": 51, 4153 "column": 59 4154 } 4155 } 4156 }, 4157 { 4158 "type": "ExpressionStatement", 4159 "expression": { 4160 "type": "AssignmentExpression", 4161 "operator": "=", 4162 "left": { 4163 "type": "Identifier", 4164 "name": "p1", 4165 "decorators": [], 4166 "loc": { 4167 "start": { 4168 "line": 52, 4169 "column": 5 4170 }, 4171 "end": { 4172 "line": 52, 4173 "column": 7 4174 } 4175 } 4176 }, 4177 "right": { 4178 "type": "CallExpression", 4179 "callee": { 4180 "type": "MemberExpression", 4181 "object": { 4182 "type": "TSNonNullExpression", 4183 "expression": { 4184 "type": "CallExpression", 4185 "callee": { 4186 "type": "MemberExpression", 4187 "object": { 4188 "type": "CallExpression", 4189 "callee": { 4190 "type": "MemberExpression", 4191 "object": { 4192 "type": "MemberExpression", 4193 "object": { 4194 "type": "Identifier", 4195 "name": "p2", 4196 "decorators": [], 4197 "loc": { 4198 "start": { 4199 "line": 52, 4200 "column": 10 4201 }, 4202 "end": { 4203 "line": 52, 4204 "column": 12 4205 } 4206 } 4207 }, 4208 "property": { 4209 "type": "Identifier", 4210 "name": "value", 4211 "decorators": [], 4212 "loc": { 4213 "start": { 4214 "line": 52, 4215 "column": 13 4216 }, 4217 "end": { 4218 "line": 52, 4219 "column": 18 4220 } 4221 } 4222 }, 4223 "computed": false, 4224 "optional": false, 4225 "loc": { 4226 "start": { 4227 "line": 52, 4228 "column": 10 4229 }, 4230 "end": { 4231 "line": 52, 4232 "column": 18 4233 } 4234 } 4235 }, 4236 "property": { 4237 "type": "Identifier", 4238 "name": "bar", 4239 "decorators": [], 4240 "loc": { 4241 "start": { 4242 "line": 52, 4243 "column": 19 4244 }, 4245 "end": { 4246 "line": 52, 4247 "column": 22 4248 } 4249 } 4250 }, 4251 "computed": false, 4252 "optional": false, 4253 "loc": { 4254 "start": { 4255 "line": 52, 4256 "column": 10 4257 }, 4258 "end": { 4259 "line": 52, 4260 "column": 22 4261 } 4262 } 4263 }, 4264 "arguments": [], 4265 "optional": false, 4266 "loc": { 4267 "start": { 4268 "line": 52, 4269 "column": 10 4270 }, 4271 "end": { 4272 "line": 52, 4273 "column": 24 4274 } 4275 } 4276 }, 4277 "property": { 4278 "type": "Identifier", 4279 "name": "baz", 4280 "decorators": [], 4281 "loc": { 4282 "start": { 4283 "line": 52, 4284 "column": 25 4285 }, 4286 "end": { 4287 "line": 52, 4288 "column": 28 4289 } 4290 } 4291 }, 4292 "computed": false, 4293 "optional": false, 4294 "loc": { 4295 "start": { 4296 "line": 52, 4297 "column": 10 4298 }, 4299 "end": { 4300 "line": 52, 4301 "column": 28 4302 } 4303 } 4304 }, 4305 "arguments": [], 4306 "optional": false, 4307 "loc": { 4308 "start": { 4309 "line": 52, 4310 "column": 10 4311 }, 4312 "end": { 4313 "line": 52, 4314 "column": 30 4315 } 4316 } 4317 }, 4318 "loc": { 4319 "start": { 4320 "line": 52, 4321 "column": 10 4322 }, 4323 "end": { 4324 "line": 52, 4325 "column": 31 4326 } 4327 } 4328 }, 4329 "property": { 4330 "type": "Identifier", 4331 "name": "then", 4332 "decorators": [], 4333 "loc": { 4334 "start": { 4335 "line": 52, 4336 "column": 32 4337 }, 4338 "end": { 4339 "line": 52, 4340 "column": 36 4341 } 4342 } 4343 }, 4344 "computed": false, 4345 "optional": false, 4346 "loc": { 4347 "start": { 4348 "line": 52, 4349 "column": 10 4350 }, 4351 "end": { 4352 "line": 52, 4353 "column": 36 4354 } 4355 } 4356 }, 4357 "arguments": [ 4358 { 4359 "type": "ETSNewClassInstanceExpression", 4360 "typeReference": { 4361 "type": "ETSTypeReference", 4362 "part": { 4363 "type": "ETSTypeReferencePart", 4364 "name": { 4365 "type": "Identifier", 4366 "name": "Object", 4367 "decorators": [], 4368 "loc": { 4369 "start": { 4370 "line": 52, 4371 "column": 49 4372 }, 4373 "end": { 4374 "line": 52, 4375 "column": 55 4376 } 4377 } 4378 }, 4379 "loc": { 4380 "start": { 4381 "line": 52, 4382 "column": 49 4383 }, 4384 "end": { 4385 "line": 52, 4386 "column": 56 4387 } 4388 } 4389 }, 4390 "loc": { 4391 "start": { 4392 "line": 52, 4393 "column": 49 4394 }, 4395 "end": { 4396 "line": 52, 4397 "column": 56 4398 } 4399 } 4400 }, 4401 "arguments": [], 4402 "loc": { 4403 "start": { 4404 "line": 52, 4405 "column": 45 4406 }, 4407 "end": { 4408 "line": 52, 4409 "column": 58 4410 } 4411 } 4412 } 4413 ], 4414 "optional": false, 4415 "typeParameters": { 4416 "type": "TSTypeParameterInstantiation", 4417 "params": [ 4418 { 4419 "type": "ETSTypeReference", 4420 "part": { 4421 "type": "ETSTypeReferencePart", 4422 "name": { 4423 "type": "Identifier", 4424 "name": "Object", 4425 "decorators": [], 4426 "loc": { 4427 "start": { 4428 "line": 52, 4429 "column": 37 4430 }, 4431 "end": { 4432 "line": 52, 4433 "column": 43 4434 } 4435 } 4436 }, 4437 "loc": { 4438 "start": { 4439 "line": 52, 4440 "column": 37 4441 }, 4442 "end": { 4443 "line": 52, 4444 "column": 44 4445 } 4446 } 4447 }, 4448 "loc": { 4449 "start": { 4450 "line": 52, 4451 "column": 37 4452 }, 4453 "end": { 4454 "line": 52, 4455 "column": 44 4456 } 4457 } 4458 } 4459 ], 4460 "loc": { 4461 "start": { 4462 "line": 52, 4463 "column": 36 4464 }, 4465 "end": { 4466 "line": 52, 4467 "column": 44 4468 } 4469 } 4470 }, 4471 "loc": { 4472 "start": { 4473 "line": 52, 4474 "column": 10 4475 }, 4476 "end": { 4477 "line": 52, 4478 "column": 58 4479 } 4480 } 4481 }, 4482 "loc": { 4483 "start": { 4484 "line": 52, 4485 "column": 5 4486 }, 4487 "end": { 4488 "line": 52, 4489 "column": 58 4490 } 4491 } 4492 }, 4493 "loc": { 4494 "start": { 4495 "line": 52, 4496 "column": 5 4497 }, 4498 "end": { 4499 "line": 52, 4500 "column": 59 4501 } 4502 } 4503 }, 4504 { 4505 "type": "VariableDeclaration", 4506 "declarations": [ 4507 { 4508 "type": "VariableDeclarator", 4509 "id": { 4510 "type": "Identifier", 4511 "name": "p3", 4512 "typeAnnotation": { 4513 "type": "ETSUnionType", 4514 "types": [ 4515 { 4516 "type": "ETSTypeReference", 4517 "part": { 4518 "type": "ETSTypeReferencePart", 4519 "name": { 4520 "type": "Identifier", 4521 "name": "C", 4522 "decorators": [], 4523 "loc": { 4524 "start": { 4525 "line": 54, 4526 "column": 13 4527 }, 4528 "end": { 4529 "line": 54, 4530 "column": 14 4531 } 4532 } 4533 }, 4534 "typeParams": { 4535 "type": "TSTypeParameterInstantiation", 4536 "params": [ 4537 { 4538 "type": "ETSTypeReference", 4539 "part": { 4540 "type": "ETSTypeReferencePart", 4541 "name": { 4542 "type": "Identifier", 4543 "name": "Double", 4544 "decorators": [], 4545 "loc": { 4546 "start": { 4547 "line": 54, 4548 "column": 15 4549 }, 4550 "end": { 4551 "line": 54, 4552 "column": 21 4553 } 4554 } 4555 }, 4556 "loc": { 4557 "start": { 4558 "line": 54, 4559 "column": 15 4560 }, 4561 "end": { 4562 "line": 54, 4563 "column": 22 4564 } 4565 } 4566 }, 4567 "loc": { 4568 "start": { 4569 "line": 54, 4570 "column": 15 4571 }, 4572 "end": { 4573 "line": 54, 4574 "column": 22 4575 } 4576 } 4577 } 4578 ], 4579 "loc": { 4580 "start": { 4581 "line": 54, 4582 "column": 14 4583 }, 4584 "end": { 4585 "line": 54, 4586 "column": 22 4587 } 4588 } 4589 }, 4590 "loc": { 4591 "start": { 4592 "line": 54, 4593 "column": 13 4594 }, 4595 "end": { 4596 "line": 54, 4597 "column": 24 4598 } 4599 } 4600 }, 4601 "loc": { 4602 "start": { 4603 "line": 54, 4604 "column": 13 4605 }, 4606 "end": { 4607 "line": 54, 4608 "column": 24 4609 } 4610 } 4611 }, 4612 { 4613 "type": "ETSNullType", 4614 "loc": { 4615 "start": { 4616 "line": 54, 4617 "column": 25 4618 }, 4619 "end": { 4620 "line": 54, 4621 "column": 29 4622 } 4623 } 4624 } 4625 ], 4626 "loc": { 4627 "start": { 4628 "line": 54, 4629 "column": 13 4630 }, 4631 "end": { 4632 "line": 54, 4633 "column": 29 4634 } 4635 } 4636 }, 4637 "decorators": [], 4638 "loc": { 4639 "start": { 4640 "line": 54, 4641 "column": 9 4642 }, 4643 "end": { 4644 "line": 54, 4645 "column": 11 4646 } 4647 } 4648 }, 4649 "init": { 4650 "type": "CallExpression", 4651 "callee": { 4652 "type": "MemberExpression", 4653 "object": { 4654 "type": "Identifier", 4655 "name": "p", 4656 "decorators": [], 4657 "loc": { 4658 "start": { 4659 "line": 54, 4660 "column": 32 4661 }, 4662 "end": { 4663 "line": 54, 4664 "column": 33 4665 } 4666 } 4667 }, 4668 "property": { 4669 "type": "Identifier", 4670 "name": "then", 4671 "decorators": [], 4672 "loc": { 4673 "start": { 4674 "line": 54, 4675 "column": 34 4676 }, 4677 "end": { 4678 "line": 54, 4679 "column": 38 4680 } 4681 } 4682 }, 4683 "computed": false, 4684 "optional": false, 4685 "loc": { 4686 "start": { 4687 "line": 54, 4688 "column": 32 4689 }, 4690 "end": { 4691 "line": 54, 4692 "column": 38 4693 } 4694 } 4695 }, 4696 "arguments": [ 4697 { 4698 "type": "ETSNewClassInstanceExpression", 4699 "typeReference": { 4700 "type": "ETSTypeReference", 4701 "part": { 4702 "type": "ETSTypeReferencePart", 4703 "name": { 4704 "type": "Identifier", 4705 "name": "Double", 4706 "decorators": [], 4707 "loc": { 4708 "start": { 4709 "line": 54, 4710 "column": 51 4711 }, 4712 "end": { 4713 "line": 54, 4714 "column": 57 4715 } 4716 } 4717 }, 4718 "loc": { 4719 "start": { 4720 "line": 54, 4721 "column": 51 4722 }, 4723 "end": { 4724 "line": 54, 4725 "column": 58 4726 } 4727 } 4728 }, 4729 "loc": { 4730 "start": { 4731 "line": 54, 4732 "column": 51 4733 }, 4734 "end": { 4735 "line": 54, 4736 "column": 58 4737 } 4738 } 4739 }, 4740 "arguments": [], 4741 "loc": { 4742 "start": { 4743 "line": 54, 4744 "column": 47 4745 }, 4746 "end": { 4747 "line": 54, 4748 "column": 60 4749 } 4750 } 4751 } 4752 ], 4753 "optional": false, 4754 "typeParameters": { 4755 "type": "TSTypeParameterInstantiation", 4756 "params": [ 4757 { 4758 "type": "ETSTypeReference", 4759 "part": { 4760 "type": "ETSTypeReferencePart", 4761 "name": { 4762 "type": "Identifier", 4763 "name": "Double", 4764 "decorators": [], 4765 "loc": { 4766 "start": { 4767 "line": 54, 4768 "column": 39 4769 }, 4770 "end": { 4771 "line": 54, 4772 "column": 45 4773 } 4774 } 4775 }, 4776 "loc": { 4777 "start": { 4778 "line": 54, 4779 "column": 39 4780 }, 4781 "end": { 4782 "line": 54, 4783 "column": 46 4784 } 4785 } 4786 }, 4787 "loc": { 4788 "start": { 4789 "line": 54, 4790 "column": 39 4791 }, 4792 "end": { 4793 "line": 54, 4794 "column": 46 4795 } 4796 } 4797 } 4798 ], 4799 "loc": { 4800 "start": { 4801 "line": 54, 4802 "column": 38 4803 }, 4804 "end": { 4805 "line": 54, 4806 "column": 46 4807 } 4808 } 4809 }, 4810 "loc": { 4811 "start": { 4812 "line": 54, 4813 "column": 32 4814 }, 4815 "end": { 4816 "line": 54, 4817 "column": 60 4818 } 4819 } 4820 }, 4821 "loc": { 4822 "start": { 4823 "line": 54, 4824 "column": 9 4825 }, 4826 "end": { 4827 "line": 54, 4828 "column": 60 4829 } 4830 } 4831 } 4832 ], 4833 "kind": "let", 4834 "loc": { 4835 "start": { 4836 "line": 54, 4837 "column": 5 4838 }, 4839 "end": { 4840 "line": 54, 4841 "column": 61 4842 } 4843 } 4844 }, 4845 { 4846 "type": "VariableDeclaration", 4847 "declarations": [ 4848 { 4849 "type": "VariableDeclarator", 4850 "id": { 4851 "type": "Identifier", 4852 "name": "p4", 4853 "typeAnnotation": { 4854 "type": "ETSTypeReference", 4855 "part": { 4856 "type": "ETSTypeReferencePart", 4857 "name": { 4858 "type": "Identifier", 4859 "name": "C", 4860 "decorators": [], 4861 "loc": { 4862 "start": { 4863 "line": 55, 4864 "column": 13 4865 }, 4866 "end": { 4867 "line": 55, 4868 "column": 14 4869 } 4870 } 4871 }, 4872 "typeParams": { 4873 "type": "TSTypeParameterInstantiation", 4874 "params": [ 4875 { 4876 "type": "ETSTypeReference", 4877 "part": { 4878 "type": "ETSTypeReferencePart", 4879 "name": { 4880 "type": "Identifier", 4881 "name": "A", 4882 "decorators": [], 4883 "loc": { 4884 "start": { 4885 "line": 55, 4886 "column": 15 4887 }, 4888 "end": { 4889 "line": 55, 4890 "column": 16 4891 } 4892 } 4893 }, 4894 "typeParams": { 4895 "type": "TSTypeParameterInstantiation", 4896 "params": [ 4897 { 4898 "type": "ETSTypeReference", 4899 "part": { 4900 "type": "ETSTypeReferencePart", 4901 "name": { 4902 "type": "Identifier", 4903 "name": "A", 4904 "decorators": [], 4905 "loc": { 4906 "start": { 4907 "line": 55, 4908 "column": 17 4909 }, 4910 "end": { 4911 "line": 55, 4912 "column": 18 4913 } 4914 } 4915 }, 4916 "typeParams": { 4917 "type": "TSTypeParameterInstantiation", 4918 "params": [ 4919 { 4920 "type": "ETSTypeReference", 4921 "part": { 4922 "type": "ETSTypeReferencePart", 4923 "name": { 4924 "type": "Identifier", 4925 "name": "Double", 4926 "decorators": [], 4927 "loc": { 4928 "start": { 4929 "line": 55, 4930 "column": 19 4931 }, 4932 "end": { 4933 "line": 55, 4934 "column": 25 4935 } 4936 } 4937 }, 4938 "loc": { 4939 "start": { 4940 "line": 55, 4941 "column": 19 4942 }, 4943 "end": { 4944 "line": 55, 4945 "column": 28 4946 } 4947 } 4948 }, 4949 "loc": { 4950 "start": { 4951 "line": 55, 4952 "column": 19 4953 }, 4954 "end": { 4955 "line": 55, 4956 "column": 28 4957 } 4958 } 4959 } 4960 ], 4961 "loc": { 4962 "start": { 4963 "line": 55, 4964 "column": 18 4965 }, 4966 "end": { 4967 "line": 55, 4968 "column": 28 4969 } 4970 } 4971 }, 4972 "loc": { 4973 "start": { 4974 "line": 55, 4975 "column": 17 4976 }, 4977 "end": { 4978 "line": 55, 4979 "column": 28 4980 } 4981 } 4982 }, 4983 "loc": { 4984 "start": { 4985 "line": 55, 4986 "column": 17 4987 }, 4988 "end": { 4989 "line": 55, 4990 "column": 28 4991 } 4992 } 4993 } 4994 ], 4995 "loc": { 4996 "start": { 4997 "line": 55, 4998 "column": 16 4999 }, 5000 "end": { 5001 "line": 55, 5002 "column": 28 5003 } 5004 } 5005 }, 5006 "loc": { 5007 "start": { 5008 "line": 55, 5009 "column": 15 5010 }, 5011 "end": { 5012 "line": 55, 5013 "column": 28 5014 } 5015 } 5016 }, 5017 "loc": { 5018 "start": { 5019 "line": 55, 5020 "column": 15 5021 }, 5022 "end": { 5023 "line": 55, 5024 "column": 28 5025 } 5026 } 5027 } 5028 ], 5029 "loc": { 5030 "start": { 5031 "line": 55, 5032 "column": 14 5033 }, 5034 "end": { 5035 "line": 55, 5036 "column": 28 5037 } 5038 } 5039 }, 5040 "loc": { 5041 "start": { 5042 "line": 55, 5043 "column": 13 5044 }, 5045 "end": { 5046 "line": 55, 5047 "column": 30 5048 } 5049 } 5050 }, 5051 "loc": { 5052 "start": { 5053 "line": 55, 5054 "column": 13 5055 }, 5056 "end": { 5057 "line": 55, 5058 "column": 30 5059 } 5060 } 5061 }, 5062 "decorators": [], 5063 "loc": { 5064 "start": { 5065 "line": 55, 5066 "column": 9 5067 }, 5068 "end": { 5069 "line": 55, 5070 "column": 11 5071 } 5072 } 5073 }, 5074 "init": { 5075 "type": "ETSNewClassInstanceExpression", 5076 "typeReference": { 5077 "type": "ETSTypeReference", 5078 "part": { 5079 "type": "ETSTypeReferencePart", 5080 "name": { 5081 "type": "Identifier", 5082 "name": "C", 5083 "decorators": [], 5084 "loc": { 5085 "start": { 5086 "line": 55, 5087 "column": 35 5088 }, 5089 "end": { 5090 "line": 55, 5091 "column": 36 5092 } 5093 } 5094 }, 5095 "typeParams": { 5096 "type": "TSTypeParameterInstantiation", 5097 "params": [ 5098 { 5099 "type": "ETSTypeReference", 5100 "part": { 5101 "type": "ETSTypeReferencePart", 5102 "name": { 5103 "type": "Identifier", 5104 "name": "A", 5105 "decorators": [], 5106 "loc": { 5107 "start": { 5108 "line": 55, 5109 "column": 37 5110 }, 5111 "end": { 5112 "line": 55, 5113 "column": 38 5114 } 5115 } 5116 }, 5117 "typeParams": { 5118 "type": "TSTypeParameterInstantiation", 5119 "params": [ 5120 { 5121 "type": "ETSTypeReference", 5122 "part": { 5123 "type": "ETSTypeReferencePart", 5124 "name": { 5125 "type": "Identifier", 5126 "name": "A", 5127 "decorators": [], 5128 "loc": { 5129 "start": { 5130 "line": 55, 5131 "column": 39 5132 }, 5133 "end": { 5134 "line": 55, 5135 "column": 40 5136 } 5137 } 5138 }, 5139 "typeParams": { 5140 "type": "TSTypeParameterInstantiation", 5141 "params": [ 5142 { 5143 "type": "ETSTypeReference", 5144 "part": { 5145 "type": "ETSTypeReferencePart", 5146 "name": { 5147 "type": "Identifier", 5148 "name": "Double", 5149 "decorators": [], 5150 "loc": { 5151 "start": { 5152 "line": 55, 5153 "column": 41 5154 }, 5155 "end": { 5156 "line": 55, 5157 "column": 47 5158 } 5159 } 5160 }, 5161 "loc": { 5162 "start": { 5163 "line": 55, 5164 "column": 41 5165 }, 5166 "end": { 5167 "line": 55, 5168 "column": 50 5169 } 5170 } 5171 }, 5172 "loc": { 5173 "start": { 5174 "line": 55, 5175 "column": 41 5176 }, 5177 "end": { 5178 "line": 55, 5179 "column": 50 5180 } 5181 } 5182 } 5183 ], 5184 "loc": { 5185 "start": { 5186 "line": 55, 5187 "column": 40 5188 }, 5189 "end": { 5190 "line": 55, 5191 "column": 50 5192 } 5193 } 5194 }, 5195 "loc": { 5196 "start": { 5197 "line": 55, 5198 "column": 39 5199 }, 5200 "end": { 5201 "line": 55, 5202 "column": 50 5203 } 5204 } 5205 }, 5206 "loc": { 5207 "start": { 5208 "line": 55, 5209 "column": 39 5210 }, 5211 "end": { 5212 "line": 55, 5213 "column": 50 5214 } 5215 } 5216 } 5217 ], 5218 "loc": { 5219 "start": { 5220 "line": 55, 5221 "column": 38 5222 }, 5223 "end": { 5224 "line": 55, 5225 "column": 50 5226 } 5227 } 5228 }, 5229 "loc": { 5230 "start": { 5231 "line": 55, 5232 "column": 37 5233 }, 5234 "end": { 5235 "line": 55, 5236 "column": 50 5237 } 5238 } 5239 }, 5240 "loc": { 5241 "start": { 5242 "line": 55, 5243 "column": 37 5244 }, 5245 "end": { 5246 "line": 55, 5247 "column": 50 5248 } 5249 } 5250 } 5251 ], 5252 "loc": { 5253 "start": { 5254 "line": 55, 5255 "column": 36 5256 }, 5257 "end": { 5258 "line": 55, 5259 "column": 50 5260 } 5261 } 5262 }, 5263 "loc": { 5264 "start": { 5265 "line": 55, 5266 "column": 35 5267 }, 5268 "end": { 5269 "line": 55, 5270 "column": 51 5271 } 5272 } 5273 }, 5274 "loc": { 5275 "start": { 5276 "line": 55, 5277 "column": 35 5278 }, 5279 "end": { 5280 "line": 55, 5281 "column": 51 5282 } 5283 } 5284 }, 5285 "arguments": [], 5286 "loc": { 5287 "start": { 5288 "line": 55, 5289 "column": 31 5290 }, 5291 "end": { 5292 "line": 55, 5293 "column": 53 5294 } 5295 } 5296 }, 5297 "loc": { 5298 "start": { 5299 "line": 55, 5300 "column": 9 5301 }, 5302 "end": { 5303 "line": 55, 5304 "column": 53 5305 } 5306 } 5307 } 5308 ], 5309 "kind": "let", 5310 "loc": { 5311 "start": { 5312 "line": 55, 5313 "column": 5 5314 }, 5315 "end": { 5316 "line": 55, 5317 "column": 53 5318 } 5319 } 5320 } 5321 ], 5322 "loc": { 5323 "start": { 5324 "line": 44, 5325 "column": 34 5326 }, 5327 "end": { 5328 "line": 56, 5329 "column": 2 5330 } 5331 } 5332 }, 5333 "loc": { 5334 "start": { 5335 "line": 44, 5336 "column": 13 5337 }, 5338 "end": { 5339 "line": 56, 5340 "column": 2 5341 } 5342 } 5343 }, 5344 "loc": { 5345 "start": { 5346 "line": 44, 5347 "column": 13 5348 }, 5349 "end": { 5350 "line": 56, 5351 "column": 2 5352 } 5353 } 5354 }, 5355 "overloads": [], 5356 "decorators": [], 5357 "loc": { 5358 "start": { 5359 "line": 44, 5360 "column": 1 5361 }, 5362 "end": { 5363 "line": 56, 5364 "column": 2 5365 } 5366 } 5367 } 5368 ], 5369 "loc": { 5370 "start": { 5371 "line": 1, 5372 "column": 1 5373 }, 5374 "end": { 5375 "line": 1, 5376 "column": 1 5377 } 5378 } 5379 }, 5380 "loc": { 5381 "start": { 5382 "line": 1, 5383 "column": 1 5384 }, 5385 "end": { 5386 "line": 1, 5387 "column": 1 5388 } 5389 } 5390 } 5391 ], 5392 "loc": { 5393 "start": { 5394 "line": 1, 5395 "column": 1 5396 }, 5397 "end": { 5398 "line": 57, 5399 "column": 1 5400 } 5401 } 5402} 5403