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