1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "VariableDeclaration", 6 "declarations": [ 7 { 8 "type": "VariableDeclarator", 9 "id": { 10 "type": "Identifier", 11 "name": "a", 12 "typeAnnotation": { 13 "type": "TSAnyKeyword", 14 "loc": { 15 "start": { 16 "line": 17, 17 "column": 8, 18 "program": "varRedeclaration.ts" 19 }, 20 "end": { 21 "line": 17, 22 "column": 11, 23 "program": "varRedeclaration.ts" 24 } 25 } 26 }, 27 "decorators": [], 28 "loc": { 29 "start": { 30 "line": 17, 31 "column": 5, 32 "program": "varRedeclaration.ts" 33 }, 34 "end": { 35 "line": 17, 36 "column": 6, 37 "program": "varRedeclaration.ts" 38 } 39 } 40 }, 41 "init": null, 42 "loc": { 43 "start": { 44 "line": 17, 45 "column": 5, 46 "program": "varRedeclaration.ts" 47 }, 48 "end": { 49 "line": 17, 50 "column": 6, 51 "program": "varRedeclaration.ts" 52 } 53 } 54 } 55 ], 56 "kind": "var", 57 "loc": { 58 "start": { 59 "line": 17, 60 "column": 1, 61 "program": "varRedeclaration.ts" 62 }, 63 "end": { 64 "line": 17, 65 "column": 12, 66 "program": "varRedeclaration.ts" 67 } 68 } 69 }, 70 { 71 "type": "VariableDeclaration", 72 "declarations": [ 73 { 74 "type": "VariableDeclarator", 75 "id": { 76 "type": "Identifier", 77 "name": "a", 78 "typeAnnotation": { 79 "type": "TSAnyKeyword", 80 "loc": { 81 "start": { 82 "line": 18, 83 "column": 8, 84 "program": "varRedeclaration.ts" 85 }, 86 "end": { 87 "line": 18, 88 "column": 11, 89 "program": "varRedeclaration.ts" 90 } 91 } 92 }, 93 "decorators": [], 94 "loc": { 95 "start": { 96 "line": 18, 97 "column": 5, 98 "program": "varRedeclaration.ts" 99 }, 100 "end": { 101 "line": 18, 102 "column": 6, 103 "program": "varRedeclaration.ts" 104 } 105 } 106 }, 107 "init": null, 108 "loc": { 109 "start": { 110 "line": 18, 111 "column": 5, 112 "program": "varRedeclaration.ts" 113 }, 114 "end": { 115 "line": 18, 116 "column": 6, 117 "program": "varRedeclaration.ts" 118 } 119 } 120 } 121 ], 122 "kind": "var", 123 "loc": { 124 "start": { 125 "line": 18, 126 "column": 1, 127 "program": "varRedeclaration.ts" 128 }, 129 "end": { 130 "line": 18, 131 "column": 12, 132 "program": "varRedeclaration.ts" 133 } 134 } 135 }, 136 { 137 "type": "VariableDeclaration", 138 "declarations": [ 139 { 140 "type": "VariableDeclarator", 141 "id": { 142 "type": "Identifier", 143 "name": "b", 144 "typeAnnotation": { 145 "type": "TSNumberKeyword", 146 "loc": { 147 "start": { 148 "line": 20, 149 "column": 8, 150 "program": "varRedeclaration.ts" 151 }, 152 "end": { 153 "line": 20, 154 "column": 14, 155 "program": "varRedeclaration.ts" 156 } 157 } 158 }, 159 "decorators": [], 160 "loc": { 161 "start": { 162 "line": 20, 163 "column": 5, 164 "program": "varRedeclaration.ts" 165 }, 166 "end": { 167 "line": 20, 168 "column": 6, 169 "program": "varRedeclaration.ts" 170 } 171 } 172 }, 173 "init": null, 174 "loc": { 175 "start": { 176 "line": 20, 177 "column": 5, 178 "program": "varRedeclaration.ts" 179 }, 180 "end": { 181 "line": 20, 182 "column": 6, 183 "program": "varRedeclaration.ts" 184 } 185 } 186 } 187 ], 188 "kind": "var", 189 "loc": { 190 "start": { 191 "line": 20, 192 "column": 1, 193 "program": "varRedeclaration.ts" 194 }, 195 "end": { 196 "line": 20, 197 "column": 15, 198 "program": "varRedeclaration.ts" 199 } 200 } 201 }, 202 { 203 "type": "VariableDeclaration", 204 "declarations": [ 205 { 206 "type": "VariableDeclarator", 207 "id": { 208 "type": "Identifier", 209 "name": "b", 210 "typeAnnotation": { 211 "type": "TSNumberKeyword", 212 "loc": { 213 "start": { 214 "line": 21, 215 "column": 8, 216 "program": "varRedeclaration.ts" 217 }, 218 "end": { 219 "line": 21, 220 "column": 14, 221 "program": "varRedeclaration.ts" 222 } 223 } 224 }, 225 "decorators": [], 226 "loc": { 227 "start": { 228 "line": 21, 229 "column": 5, 230 "program": "varRedeclaration.ts" 231 }, 232 "end": { 233 "line": 21, 234 "column": 6, 235 "program": "varRedeclaration.ts" 236 } 237 } 238 }, 239 "init": null, 240 "loc": { 241 "start": { 242 "line": 21, 243 "column": 5, 244 "program": "varRedeclaration.ts" 245 }, 246 "end": { 247 "line": 21, 248 "column": 6, 249 "program": "varRedeclaration.ts" 250 } 251 } 252 } 253 ], 254 "kind": "var", 255 "loc": { 256 "start": { 257 "line": 21, 258 "column": 1, 259 "program": "varRedeclaration.ts" 260 }, 261 "end": { 262 "line": 21, 263 "column": 15, 264 "program": "varRedeclaration.ts" 265 } 266 } 267 }, 268 { 269 "type": "VariableDeclaration", 270 "declarations": [ 271 { 272 "type": "VariableDeclarator", 273 "id": { 274 "type": "Identifier", 275 "name": "c", 276 "typeAnnotation": { 277 "type": "TSUnionType", 278 "types": [ 279 { 280 "type": "TSNumberKeyword", 281 "loc": { 282 "start": { 283 "line": 23, 284 "column": 8, 285 "program": "varRedeclaration.ts" 286 }, 287 "end": { 288 "line": 23, 289 "column": 14, 290 "program": "varRedeclaration.ts" 291 } 292 } 293 }, 294 { 295 "type": "TSStringKeyword", 296 "loc": { 297 "start": { 298 "line": 23, 299 "column": 17, 300 "program": "varRedeclaration.ts" 301 }, 302 "end": { 303 "line": 23, 304 "column": 23, 305 "program": "varRedeclaration.ts" 306 } 307 } 308 } 309 ], 310 "loc": { 311 "start": { 312 "line": 23, 313 "column": 8, 314 "program": "varRedeclaration.ts" 315 }, 316 "end": { 317 "line": 23, 318 "column": 23, 319 "program": "varRedeclaration.ts" 320 } 321 } 322 }, 323 "decorators": [], 324 "loc": { 325 "start": { 326 "line": 23, 327 "column": 5, 328 "program": "varRedeclaration.ts" 329 }, 330 "end": { 331 "line": 23, 332 "column": 6, 333 "program": "varRedeclaration.ts" 334 } 335 } 336 }, 337 "init": null, 338 "loc": { 339 "start": { 340 "line": 23, 341 "column": 5, 342 "program": "varRedeclaration.ts" 343 }, 344 "end": { 345 "line": 23, 346 "column": 6, 347 "program": "varRedeclaration.ts" 348 } 349 } 350 } 351 ], 352 "kind": "var", 353 "loc": { 354 "start": { 355 "line": 23, 356 "column": 1, 357 "program": "varRedeclaration.ts" 358 }, 359 "end": { 360 "line": 23, 361 "column": 24, 362 "program": "varRedeclaration.ts" 363 } 364 } 365 }, 366 { 367 "type": "VariableDeclaration", 368 "declarations": [ 369 { 370 "type": "VariableDeclarator", 371 "id": { 372 "type": "Identifier", 373 "name": "c", 374 "typeAnnotation": { 375 "type": "TSUnionType", 376 "types": [ 377 { 378 "type": "TSStringKeyword", 379 "loc": { 380 "start": { 381 "line": 24, 382 "column": 8, 383 "program": "varRedeclaration.ts" 384 }, 385 "end": { 386 "line": 24, 387 "column": 14, 388 "program": "varRedeclaration.ts" 389 } 390 } 391 }, 392 { 393 "type": "TSNumberKeyword", 394 "loc": { 395 "start": { 396 "line": 24, 397 "column": 17, 398 "program": "varRedeclaration.ts" 399 }, 400 "end": { 401 "line": 24, 402 "column": 23, 403 "program": "varRedeclaration.ts" 404 } 405 } 406 } 407 ], 408 "loc": { 409 "start": { 410 "line": 24, 411 "column": 8, 412 "program": "varRedeclaration.ts" 413 }, 414 "end": { 415 "line": 24, 416 "column": 23, 417 "program": "varRedeclaration.ts" 418 } 419 } 420 }, 421 "decorators": [], 422 "loc": { 423 "start": { 424 "line": 24, 425 "column": 5, 426 "program": "varRedeclaration.ts" 427 }, 428 "end": { 429 "line": 24, 430 "column": 6, 431 "program": "varRedeclaration.ts" 432 } 433 } 434 }, 435 "init": null, 436 "loc": { 437 "start": { 438 "line": 24, 439 "column": 5, 440 "program": "varRedeclaration.ts" 441 }, 442 "end": { 443 "line": 24, 444 "column": 6, 445 "program": "varRedeclaration.ts" 446 } 447 } 448 } 449 ], 450 "kind": "var", 451 "loc": { 452 "start": { 453 "line": 24, 454 "column": 1, 455 "program": "varRedeclaration.ts" 456 }, 457 "end": { 458 "line": 24, 459 "column": 24, 460 "program": "varRedeclaration.ts" 461 } 462 } 463 }, 464 { 465 "type": "VariableDeclaration", 466 "declarations": [ 467 { 468 "type": "VariableDeclarator", 469 "id": { 470 "type": "Identifier", 471 "name": "d", 472 "typeAnnotation": { 473 "type": "TSTypeLiteral", 474 "members": [ 475 { 476 "type": "TSPropertySignature", 477 "computed": false, 478 "optional": false, 479 "readonly": false, 480 "key": { 481 "type": "Identifier", 482 "name": "a", 483 "decorators": [], 484 "loc": { 485 "start": { 486 "line": 26, 487 "column": 10, 488 "program": "varRedeclaration.ts" 489 }, 490 "end": { 491 "line": 26, 492 "column": 11, 493 "program": "varRedeclaration.ts" 494 } 495 } 496 }, 497 "typeAnnotation": { 498 "type": "TSNumberKeyword", 499 "loc": { 500 "start": { 501 "line": 26, 502 "column": 13, 503 "program": "varRedeclaration.ts" 504 }, 505 "end": { 506 "line": 26, 507 "column": 19, 508 "program": "varRedeclaration.ts" 509 } 510 } 511 }, 512 "loc": { 513 "start": { 514 "line": 26, 515 "column": 10, 516 "program": "varRedeclaration.ts" 517 }, 518 "end": { 519 "line": 26, 520 "column": 20, 521 "program": "varRedeclaration.ts" 522 } 523 } 524 }, 525 { 526 "type": "TSPropertySignature", 527 "computed": false, 528 "optional": false, 529 "readonly": false, 530 "key": { 531 "type": "Identifier", 532 "name": "b", 533 "decorators": [], 534 "loc": { 535 "start": { 536 "line": 26, 537 "column": 21, 538 "program": "varRedeclaration.ts" 539 }, 540 "end": { 541 "line": 26, 542 "column": 22, 543 "program": "varRedeclaration.ts" 544 } 545 } 546 }, 547 "typeAnnotation": { 548 "type": "TSStringKeyword", 549 "loc": { 550 "start": { 551 "line": 26, 552 "column": 24, 553 "program": "varRedeclaration.ts" 554 }, 555 "end": { 556 "line": 26, 557 "column": 30, 558 "program": "varRedeclaration.ts" 559 } 560 } 561 }, 562 "loc": { 563 "start": { 564 "line": 26, 565 "column": 21, 566 "program": "varRedeclaration.ts" 567 }, 568 "end": { 569 "line": 26, 570 "column": 32, 571 "program": "varRedeclaration.ts" 572 } 573 } 574 } 575 ], 576 "loc": { 577 "start": { 578 "line": 26, 579 "column": 8, 580 "program": "varRedeclaration.ts" 581 }, 582 "end": { 583 "line": 26, 584 "column": 32, 585 "program": "varRedeclaration.ts" 586 } 587 } 588 }, 589 "decorators": [], 590 "loc": { 591 "start": { 592 "line": 26, 593 "column": 5, 594 "program": "varRedeclaration.ts" 595 }, 596 "end": { 597 "line": 26, 598 "column": 6, 599 "program": "varRedeclaration.ts" 600 } 601 } 602 }, 603 "init": null, 604 "loc": { 605 "start": { 606 "line": 26, 607 "column": 5, 608 "program": "varRedeclaration.ts" 609 }, 610 "end": { 611 "line": 26, 612 "column": 6, 613 "program": "varRedeclaration.ts" 614 } 615 } 616 } 617 ], 618 "kind": "var", 619 "loc": { 620 "start": { 621 "line": 26, 622 "column": 1, 623 "program": "varRedeclaration.ts" 624 }, 625 "end": { 626 "line": 26, 627 "column": 33, 628 "program": "varRedeclaration.ts" 629 } 630 } 631 }, 632 { 633 "type": "VariableDeclaration", 634 "declarations": [ 635 { 636 "type": "VariableDeclarator", 637 "id": { 638 "type": "Identifier", 639 "name": "d", 640 "typeAnnotation": { 641 "type": "TSTypeLiteral", 642 "members": [ 643 { 644 "type": "TSPropertySignature", 645 "computed": false, 646 "optional": false, 647 "readonly": false, 648 "key": { 649 "type": "Identifier", 650 "name": "b", 651 "decorators": [], 652 "loc": { 653 "start": { 654 "line": 27, 655 "column": 10, 656 "program": "varRedeclaration.ts" 657 }, 658 "end": { 659 "line": 27, 660 "column": 11, 661 "program": "varRedeclaration.ts" 662 } 663 } 664 }, 665 "typeAnnotation": { 666 "type": "TSStringKeyword", 667 "loc": { 668 "start": { 669 "line": 27, 670 "column": 13, 671 "program": "varRedeclaration.ts" 672 }, 673 "end": { 674 "line": 27, 675 "column": 19, 676 "program": "varRedeclaration.ts" 677 } 678 } 679 }, 680 "loc": { 681 "start": { 682 "line": 27, 683 "column": 10, 684 "program": "varRedeclaration.ts" 685 }, 686 "end": { 687 "line": 27, 688 "column": 20, 689 "program": "varRedeclaration.ts" 690 } 691 } 692 }, 693 { 694 "type": "TSPropertySignature", 695 "computed": false, 696 "optional": false, 697 "readonly": false, 698 "key": { 699 "type": "Identifier", 700 "name": "a", 701 "decorators": [], 702 "loc": { 703 "start": { 704 "line": 27, 705 "column": 21, 706 "program": "varRedeclaration.ts" 707 }, 708 "end": { 709 "line": 27, 710 "column": 22, 711 "program": "varRedeclaration.ts" 712 } 713 } 714 }, 715 "typeAnnotation": { 716 "type": "TSNumberKeyword", 717 "loc": { 718 "start": { 719 "line": 27, 720 "column": 24, 721 "program": "varRedeclaration.ts" 722 }, 723 "end": { 724 "line": 27, 725 "column": 30, 726 "program": "varRedeclaration.ts" 727 } 728 } 729 }, 730 "loc": { 731 "start": { 732 "line": 27, 733 "column": 21, 734 "program": "varRedeclaration.ts" 735 }, 736 "end": { 737 "line": 27, 738 "column": 32, 739 "program": "varRedeclaration.ts" 740 } 741 } 742 } 743 ], 744 "loc": { 745 "start": { 746 "line": 27, 747 "column": 8, 748 "program": "varRedeclaration.ts" 749 }, 750 "end": { 751 "line": 27, 752 "column": 32, 753 "program": "varRedeclaration.ts" 754 } 755 } 756 }, 757 "decorators": [], 758 "loc": { 759 "start": { 760 "line": 27, 761 "column": 5, 762 "program": "varRedeclaration.ts" 763 }, 764 "end": { 765 "line": 27, 766 "column": 6, 767 "program": "varRedeclaration.ts" 768 } 769 } 770 }, 771 "init": null, 772 "loc": { 773 "start": { 774 "line": 27, 775 "column": 5, 776 "program": "varRedeclaration.ts" 777 }, 778 "end": { 779 "line": 27, 780 "column": 6, 781 "program": "varRedeclaration.ts" 782 } 783 } 784 } 785 ], 786 "kind": "var", 787 "loc": { 788 "start": { 789 "line": 27, 790 "column": 1, 791 "program": "varRedeclaration.ts" 792 }, 793 "end": { 794 "line": 27, 795 "column": 33, 796 "program": "varRedeclaration.ts" 797 } 798 } 799 }, 800 { 801 "type": "VariableDeclaration", 802 "declarations": [ 803 { 804 "type": "VariableDeclarator", 805 "id": { 806 "type": "Identifier", 807 "name": "e", 808 "typeAnnotation": { 809 "type": "TSFunctionType", 810 "params": [ 811 { 812 "type": "Identifier", 813 "name": "a", 814 "typeAnnotation": { 815 "type": "TSNumberKeyword", 816 "loc": { 817 "start": { 818 "line": 29, 819 "column": 12, 820 "program": "varRedeclaration.ts" 821 }, 822 "end": { 823 "line": 29, 824 "column": 18, 825 "program": "varRedeclaration.ts" 826 } 827 } 828 }, 829 "decorators": [], 830 "loc": { 831 "start": { 832 "line": 29, 833 "column": 9, 834 "program": "varRedeclaration.ts" 835 }, 836 "end": { 837 "line": 29, 838 "column": 10, 839 "program": "varRedeclaration.ts" 840 } 841 } 842 }, 843 { 844 "type": "Identifier", 845 "name": "b", 846 "typeAnnotation": { 847 "type": "TSArrayType", 848 "elementType": { 849 "type": "TSParenthesizedType", 850 "typeAnnotation": { 851 "type": "TSUnionType", 852 "types": [ 853 { 854 "type": "TSStringKeyword", 855 "loc": { 856 "start": { 857 "line": 29, 858 "column": 24, 859 "program": "varRedeclaration.ts" 860 }, 861 "end": { 862 "line": 29, 863 "column": 30, 864 "program": "varRedeclaration.ts" 865 } 866 } 867 }, 868 { 869 "type": "TSNumberKeyword", 870 "loc": { 871 "start": { 872 "line": 29, 873 "column": 33, 874 "program": "varRedeclaration.ts" 875 }, 876 "end": { 877 "line": 29, 878 "column": 39, 879 "program": "varRedeclaration.ts" 880 } 881 } 882 } 883 ], 884 "loc": { 885 "start": { 886 "line": 29, 887 "column": 24, 888 "program": "varRedeclaration.ts" 889 }, 890 "end": { 891 "line": 29, 892 "column": 39, 893 "program": "varRedeclaration.ts" 894 } 895 } 896 }, 897 "loc": { 898 "start": { 899 "line": 29, 900 "column": 23, 901 "program": "varRedeclaration.ts" 902 }, 903 "end": { 904 "line": 29, 905 "column": 40, 906 "program": "varRedeclaration.ts" 907 } 908 } 909 }, 910 "annotations": [], 911 "loc": { 912 "start": { 913 "line": 29, 914 "column": 23, 915 "program": "varRedeclaration.ts" 916 }, 917 "end": { 918 "line": 29, 919 "column": 42, 920 "program": "varRedeclaration.ts" 921 } 922 } 923 }, 924 "decorators": [], 925 "loc": { 926 "start": { 927 "line": 29, 928 "column": 20, 929 "program": "varRedeclaration.ts" 930 }, 931 "end": { 932 "line": 29, 933 "column": 21, 934 "program": "varRedeclaration.ts" 935 } 936 } 937 } 938 ], 939 "returnType": { 940 "type": "TSVoidKeyword", 941 "loc": { 942 "start": { 943 "line": 29, 944 "column": 47, 945 "program": "varRedeclaration.ts" 946 }, 947 "end": { 948 "line": 29, 949 "column": 51, 950 "program": "varRedeclaration.ts" 951 } 952 } 953 }, 954 "loc": { 955 "start": { 956 "line": 29, 957 "column": 8, 958 "program": "varRedeclaration.ts" 959 }, 960 "end": { 961 "line": 29, 962 "column": 51, 963 "program": "varRedeclaration.ts" 964 } 965 } 966 }, 967 "decorators": [], 968 "loc": { 969 "start": { 970 "line": 29, 971 "column": 5, 972 "program": "varRedeclaration.ts" 973 }, 974 "end": { 975 "line": 29, 976 "column": 6, 977 "program": "varRedeclaration.ts" 978 } 979 } 980 }, 981 "init": null, 982 "loc": { 983 "start": { 984 "line": 29, 985 "column": 5, 986 "program": "varRedeclaration.ts" 987 }, 988 "end": { 989 "line": 29, 990 "column": 6, 991 "program": "varRedeclaration.ts" 992 } 993 } 994 } 995 ], 996 "kind": "var", 997 "loc": { 998 "start": { 999 "line": 29, 1000 "column": 1, 1001 "program": "varRedeclaration.ts" 1002 }, 1003 "end": { 1004 "line": 29, 1005 "column": 52, 1006 "program": "varRedeclaration.ts" 1007 } 1008 } 1009 }, 1010 { 1011 "type": "VariableDeclaration", 1012 "declarations": [ 1013 { 1014 "type": "VariableDeclarator", 1015 "id": { 1016 "type": "Identifier", 1017 "name": "e", 1018 "typeAnnotation": { 1019 "type": "TSFunctionType", 1020 "params": [ 1021 { 1022 "type": "Identifier", 1023 "name": "a", 1024 "typeAnnotation": { 1025 "type": "TSNumberKeyword", 1026 "loc": { 1027 "start": { 1028 "line": 30, 1029 "column": 12, 1030 "program": "varRedeclaration.ts" 1031 }, 1032 "end": { 1033 "line": 30, 1034 "column": 18, 1035 "program": "varRedeclaration.ts" 1036 } 1037 } 1038 }, 1039 "decorators": [], 1040 "loc": { 1041 "start": { 1042 "line": 30, 1043 "column": 9, 1044 "program": "varRedeclaration.ts" 1045 }, 1046 "end": { 1047 "line": 30, 1048 "column": 10, 1049 "program": "varRedeclaration.ts" 1050 } 1051 } 1052 }, 1053 { 1054 "type": "Identifier", 1055 "name": "b", 1056 "typeAnnotation": { 1057 "type": "TSArrayType", 1058 "elementType": { 1059 "type": "TSParenthesizedType", 1060 "typeAnnotation": { 1061 "type": "TSUnionType", 1062 "types": [ 1063 { 1064 "type": "TSStringKeyword", 1065 "loc": { 1066 "start": { 1067 "line": 30, 1068 "column": 24, 1069 "program": "varRedeclaration.ts" 1070 }, 1071 "end": { 1072 "line": 30, 1073 "column": 30, 1074 "program": "varRedeclaration.ts" 1075 } 1076 } 1077 }, 1078 { 1079 "type": "TSNumberKeyword", 1080 "loc": { 1081 "start": { 1082 "line": 30, 1083 "column": 33, 1084 "program": "varRedeclaration.ts" 1085 }, 1086 "end": { 1087 "line": 30, 1088 "column": 39, 1089 "program": "varRedeclaration.ts" 1090 } 1091 } 1092 } 1093 ], 1094 "loc": { 1095 "start": { 1096 "line": 30, 1097 "column": 24, 1098 "program": "varRedeclaration.ts" 1099 }, 1100 "end": { 1101 "line": 30, 1102 "column": 39, 1103 "program": "varRedeclaration.ts" 1104 } 1105 } 1106 }, 1107 "loc": { 1108 "start": { 1109 "line": 30, 1110 "column": 23, 1111 "program": "varRedeclaration.ts" 1112 }, 1113 "end": { 1114 "line": 30, 1115 "column": 40, 1116 "program": "varRedeclaration.ts" 1117 } 1118 } 1119 }, 1120 "annotations": [], 1121 "loc": { 1122 "start": { 1123 "line": 30, 1124 "column": 23, 1125 "program": "varRedeclaration.ts" 1126 }, 1127 "end": { 1128 "line": 30, 1129 "column": 42, 1130 "program": "varRedeclaration.ts" 1131 } 1132 } 1133 }, 1134 "decorators": [], 1135 "loc": { 1136 "start": { 1137 "line": 30, 1138 "column": 20, 1139 "program": "varRedeclaration.ts" 1140 }, 1141 "end": { 1142 "line": 30, 1143 "column": 21, 1144 "program": "varRedeclaration.ts" 1145 } 1146 } 1147 } 1148 ], 1149 "returnType": { 1150 "type": "TSVoidKeyword", 1151 "loc": { 1152 "start": { 1153 "line": 30, 1154 "column": 47, 1155 "program": "varRedeclaration.ts" 1156 }, 1157 "end": { 1158 "line": 30, 1159 "column": 51, 1160 "program": "varRedeclaration.ts" 1161 } 1162 } 1163 }, 1164 "loc": { 1165 "start": { 1166 "line": 30, 1167 "column": 8, 1168 "program": "varRedeclaration.ts" 1169 }, 1170 "end": { 1171 "line": 30, 1172 "column": 51, 1173 "program": "varRedeclaration.ts" 1174 } 1175 } 1176 }, 1177 "decorators": [], 1178 "loc": { 1179 "start": { 1180 "line": 30, 1181 "column": 5, 1182 "program": "varRedeclaration.ts" 1183 }, 1184 "end": { 1185 "line": 30, 1186 "column": 6, 1187 "program": "varRedeclaration.ts" 1188 } 1189 } 1190 }, 1191 "init": null, 1192 "loc": { 1193 "start": { 1194 "line": 30, 1195 "column": 5, 1196 "program": "varRedeclaration.ts" 1197 }, 1198 "end": { 1199 "line": 30, 1200 "column": 6, 1201 "program": "varRedeclaration.ts" 1202 } 1203 } 1204 } 1205 ], 1206 "kind": "var", 1207 "loc": { 1208 "start": { 1209 "line": 30, 1210 "column": 1, 1211 "program": "varRedeclaration.ts" 1212 }, 1213 "end": { 1214 "line": 30, 1215 "column": 52, 1216 "program": "varRedeclaration.ts" 1217 } 1218 } 1219 }, 1220 { 1221 "type": "VariableDeclaration", 1222 "declarations": [ 1223 { 1224 "type": "VariableDeclarator", 1225 "id": { 1226 "type": "Identifier", 1227 "name": "f", 1228 "typeAnnotation": { 1229 "type": "TSUnionType", 1230 "types": [ 1231 { 1232 "type": "TSTypeLiteral", 1233 "members": [ 1234 { 1235 "type": "TSPropertySignature", 1236 "computed": false, 1237 "optional": false, 1238 "readonly": false, 1239 "key": { 1240 "type": "Identifier", 1241 "name": "a", 1242 "decorators": [], 1243 "loc": { 1244 "start": { 1245 "line": 32, 1246 "column": 10, 1247 "program": "varRedeclaration.ts" 1248 }, 1249 "end": { 1250 "line": 32, 1251 "column": 11, 1252 "program": "varRedeclaration.ts" 1253 } 1254 } 1255 }, 1256 "typeAnnotation": { 1257 "type": "TSNumberKeyword", 1258 "loc": { 1259 "start": { 1260 "line": 32, 1261 "column": 13, 1262 "program": "varRedeclaration.ts" 1263 }, 1264 "end": { 1265 "line": 32, 1266 "column": 19, 1267 "program": "varRedeclaration.ts" 1268 } 1269 } 1270 }, 1271 "loc": { 1272 "start": { 1273 "line": 32, 1274 "column": 10, 1275 "program": "varRedeclaration.ts" 1276 }, 1277 "end": { 1278 "line": 32, 1279 "column": 20, 1280 "program": "varRedeclaration.ts" 1281 } 1282 } 1283 }, 1284 { 1285 "type": "TSPropertySignature", 1286 "computed": false, 1287 "optional": false, 1288 "readonly": false, 1289 "key": { 1290 "type": "Identifier", 1291 "name": "b", 1292 "decorators": [], 1293 "loc": { 1294 "start": { 1295 "line": 32, 1296 "column": 21, 1297 "program": "varRedeclaration.ts" 1298 }, 1299 "end": { 1300 "line": 32, 1301 "column": 22, 1302 "program": "varRedeclaration.ts" 1303 } 1304 } 1305 }, 1306 "typeAnnotation": { 1307 "type": "TSStringKeyword", 1308 "loc": { 1309 "start": { 1310 "line": 32, 1311 "column": 24, 1312 "program": "varRedeclaration.ts" 1313 }, 1314 "end": { 1315 "line": 32, 1316 "column": 30, 1317 "program": "varRedeclaration.ts" 1318 } 1319 } 1320 }, 1321 "loc": { 1322 "start": { 1323 "line": 32, 1324 "column": 21, 1325 "program": "varRedeclaration.ts" 1326 }, 1327 "end": { 1328 "line": 32, 1329 "column": 32, 1330 "program": "varRedeclaration.ts" 1331 } 1332 } 1333 } 1334 ], 1335 "loc": { 1336 "start": { 1337 "line": 32, 1338 "column": 8, 1339 "program": "varRedeclaration.ts" 1340 }, 1341 "end": { 1342 "line": 32, 1343 "column": 32, 1344 "program": "varRedeclaration.ts" 1345 } 1346 } 1347 }, 1348 { 1349 "type": "TSTypeLiteral", 1350 "members": [ 1351 { 1352 "type": "TSPropertySignature", 1353 "computed": false, 1354 "optional": false, 1355 "readonly": false, 1356 "key": { 1357 "type": "Identifier", 1358 "name": "a", 1359 "decorators": [], 1360 "loc": { 1361 "start": { 1362 "line": 32, 1363 "column": 37, 1364 "program": "varRedeclaration.ts" 1365 }, 1366 "end": { 1367 "line": 32, 1368 "column": 38, 1369 "program": "varRedeclaration.ts" 1370 } 1371 } 1372 }, 1373 "typeAnnotation": { 1374 "type": "TSArrayType", 1375 "elementType": { 1376 "type": "TSNumberKeyword", 1377 "loc": { 1378 "start": { 1379 "line": 32, 1380 "column": 40, 1381 "program": "varRedeclaration.ts" 1382 }, 1383 "end": { 1384 "line": 32, 1385 "column": 46, 1386 "program": "varRedeclaration.ts" 1387 } 1388 } 1389 }, 1390 "annotations": [], 1391 "loc": { 1392 "start": { 1393 "line": 32, 1394 "column": 40, 1395 "program": "varRedeclaration.ts" 1396 }, 1397 "end": { 1398 "line": 32, 1399 "column": 48, 1400 "program": "varRedeclaration.ts" 1401 } 1402 } 1403 }, 1404 "loc": { 1405 "start": { 1406 "line": 32, 1407 "column": 37, 1408 "program": "varRedeclaration.ts" 1409 }, 1410 "end": { 1411 "line": 32, 1412 "column": 49, 1413 "program": "varRedeclaration.ts" 1414 } 1415 } 1416 }, 1417 { 1418 "type": "TSPropertySignature", 1419 "computed": false, 1420 "optional": true, 1421 "readonly": false, 1422 "key": { 1423 "type": "Identifier", 1424 "name": "b", 1425 "decorators": [], 1426 "loc": { 1427 "start": { 1428 "line": 32, 1429 "column": 50, 1430 "program": "varRedeclaration.ts" 1431 }, 1432 "end": { 1433 "line": 32, 1434 "column": 51, 1435 "program": "varRedeclaration.ts" 1436 } 1437 } 1438 }, 1439 "typeAnnotation": { 1440 "type": "TSStringKeyword", 1441 "loc": { 1442 "start": { 1443 "line": 32, 1444 "column": 54, 1445 "program": "varRedeclaration.ts" 1446 }, 1447 "end": { 1448 "line": 32, 1449 "column": 60, 1450 "program": "varRedeclaration.ts" 1451 } 1452 } 1453 }, 1454 "loc": { 1455 "start": { 1456 "line": 32, 1457 "column": 50, 1458 "program": "varRedeclaration.ts" 1459 }, 1460 "end": { 1461 "line": 32, 1462 "column": 62, 1463 "program": "varRedeclaration.ts" 1464 } 1465 } 1466 } 1467 ], 1468 "loc": { 1469 "start": { 1470 "line": 32, 1471 "column": 35, 1472 "program": "varRedeclaration.ts" 1473 }, 1474 "end": { 1475 "line": 32, 1476 "column": 62, 1477 "program": "varRedeclaration.ts" 1478 } 1479 } 1480 } 1481 ], 1482 "loc": { 1483 "start": { 1484 "line": 32, 1485 "column": 8, 1486 "program": "varRedeclaration.ts" 1487 }, 1488 "end": { 1489 "line": 32, 1490 "column": 62, 1491 "program": "varRedeclaration.ts" 1492 } 1493 } 1494 }, 1495 "decorators": [], 1496 "loc": { 1497 "start": { 1498 "line": 32, 1499 "column": 5, 1500 "program": "varRedeclaration.ts" 1501 }, 1502 "end": { 1503 "line": 32, 1504 "column": 6, 1505 "program": "varRedeclaration.ts" 1506 } 1507 } 1508 }, 1509 "init": null, 1510 "loc": { 1511 "start": { 1512 "line": 32, 1513 "column": 5, 1514 "program": "varRedeclaration.ts" 1515 }, 1516 "end": { 1517 "line": 32, 1518 "column": 6, 1519 "program": "varRedeclaration.ts" 1520 } 1521 } 1522 } 1523 ], 1524 "kind": "var", 1525 "loc": { 1526 "start": { 1527 "line": 32, 1528 "column": 1, 1529 "program": "varRedeclaration.ts" 1530 }, 1531 "end": { 1532 "line": 32, 1533 "column": 63, 1534 "program": "varRedeclaration.ts" 1535 } 1536 } 1537 }, 1538 { 1539 "type": "VariableDeclaration", 1540 "declarations": [ 1541 { 1542 "type": "VariableDeclarator", 1543 "id": { 1544 "type": "Identifier", 1545 "name": "f", 1546 "typeAnnotation": { 1547 "type": "TSUnionType", 1548 "types": [ 1549 { 1550 "type": "TSTypeLiteral", 1551 "members": [ 1552 { 1553 "type": "TSPropertySignature", 1554 "computed": false, 1555 "optional": false, 1556 "readonly": false, 1557 "key": { 1558 "type": "Identifier", 1559 "name": "a", 1560 "decorators": [], 1561 "loc": { 1562 "start": { 1563 "line": 33, 1564 "column": 10, 1565 "program": "varRedeclaration.ts" 1566 }, 1567 "end": { 1568 "line": 33, 1569 "column": 11, 1570 "program": "varRedeclaration.ts" 1571 } 1572 } 1573 }, 1574 "typeAnnotation": { 1575 "type": "TSNumberKeyword", 1576 "loc": { 1577 "start": { 1578 "line": 33, 1579 "column": 13, 1580 "program": "varRedeclaration.ts" 1581 }, 1582 "end": { 1583 "line": 33, 1584 "column": 19, 1585 "program": "varRedeclaration.ts" 1586 } 1587 } 1588 }, 1589 "loc": { 1590 "start": { 1591 "line": 33, 1592 "column": 10, 1593 "program": "varRedeclaration.ts" 1594 }, 1595 "end": { 1596 "line": 33, 1597 "column": 20, 1598 "program": "varRedeclaration.ts" 1599 } 1600 } 1601 }, 1602 { 1603 "type": "TSPropertySignature", 1604 "computed": false, 1605 "optional": false, 1606 "readonly": false, 1607 "key": { 1608 "type": "Identifier", 1609 "name": "b", 1610 "decorators": [], 1611 "loc": { 1612 "start": { 1613 "line": 33, 1614 "column": 21, 1615 "program": "varRedeclaration.ts" 1616 }, 1617 "end": { 1618 "line": 33, 1619 "column": 22, 1620 "program": "varRedeclaration.ts" 1621 } 1622 } 1623 }, 1624 "typeAnnotation": { 1625 "type": "TSStringKeyword", 1626 "loc": { 1627 "start": { 1628 "line": 33, 1629 "column": 24, 1630 "program": "varRedeclaration.ts" 1631 }, 1632 "end": { 1633 "line": 33, 1634 "column": 30, 1635 "program": "varRedeclaration.ts" 1636 } 1637 } 1638 }, 1639 "loc": { 1640 "start": { 1641 "line": 33, 1642 "column": 21, 1643 "program": "varRedeclaration.ts" 1644 }, 1645 "end": { 1646 "line": 33, 1647 "column": 32, 1648 "program": "varRedeclaration.ts" 1649 } 1650 } 1651 } 1652 ], 1653 "loc": { 1654 "start": { 1655 "line": 33, 1656 "column": 8, 1657 "program": "varRedeclaration.ts" 1658 }, 1659 "end": { 1660 "line": 33, 1661 "column": 32, 1662 "program": "varRedeclaration.ts" 1663 } 1664 } 1665 }, 1666 { 1667 "type": "TSTypeLiteral", 1668 "members": [ 1669 { 1670 "type": "TSPropertySignature", 1671 "computed": false, 1672 "optional": false, 1673 "readonly": false, 1674 "key": { 1675 "type": "Identifier", 1676 "name": "a", 1677 "decorators": [], 1678 "loc": { 1679 "start": { 1680 "line": 33, 1681 "column": 37, 1682 "program": "varRedeclaration.ts" 1683 }, 1684 "end": { 1685 "line": 33, 1686 "column": 38, 1687 "program": "varRedeclaration.ts" 1688 } 1689 } 1690 }, 1691 "typeAnnotation": { 1692 "type": "TSArrayType", 1693 "elementType": { 1694 "type": "TSNumberKeyword", 1695 "loc": { 1696 "start": { 1697 "line": 33, 1698 "column": 40, 1699 "program": "varRedeclaration.ts" 1700 }, 1701 "end": { 1702 "line": 33, 1703 "column": 46, 1704 "program": "varRedeclaration.ts" 1705 } 1706 } 1707 }, 1708 "annotations": [], 1709 "loc": { 1710 "start": { 1711 "line": 33, 1712 "column": 40, 1713 "program": "varRedeclaration.ts" 1714 }, 1715 "end": { 1716 "line": 33, 1717 "column": 48, 1718 "program": "varRedeclaration.ts" 1719 } 1720 } 1721 }, 1722 "loc": { 1723 "start": { 1724 "line": 33, 1725 "column": 37, 1726 "program": "varRedeclaration.ts" 1727 }, 1728 "end": { 1729 "line": 33, 1730 "column": 49, 1731 "program": "varRedeclaration.ts" 1732 } 1733 } 1734 }, 1735 { 1736 "type": "TSPropertySignature", 1737 "computed": false, 1738 "optional": true, 1739 "readonly": false, 1740 "key": { 1741 "type": "Identifier", 1742 "name": "b", 1743 "decorators": [], 1744 "loc": { 1745 "start": { 1746 "line": 33, 1747 "column": 50, 1748 "program": "varRedeclaration.ts" 1749 }, 1750 "end": { 1751 "line": 33, 1752 "column": 51, 1753 "program": "varRedeclaration.ts" 1754 } 1755 } 1756 }, 1757 "typeAnnotation": { 1758 "type": "TSStringKeyword", 1759 "loc": { 1760 "start": { 1761 "line": 33, 1762 "column": 54, 1763 "program": "varRedeclaration.ts" 1764 }, 1765 "end": { 1766 "line": 33, 1767 "column": 60, 1768 "program": "varRedeclaration.ts" 1769 } 1770 } 1771 }, 1772 "loc": { 1773 "start": { 1774 "line": 33, 1775 "column": 50, 1776 "program": "varRedeclaration.ts" 1777 }, 1778 "end": { 1779 "line": 33, 1780 "column": 62, 1781 "program": "varRedeclaration.ts" 1782 } 1783 } 1784 } 1785 ], 1786 "loc": { 1787 "start": { 1788 "line": 33, 1789 "column": 35, 1790 "program": "varRedeclaration.ts" 1791 }, 1792 "end": { 1793 "line": 33, 1794 "column": 62, 1795 "program": "varRedeclaration.ts" 1796 } 1797 } 1798 } 1799 ], 1800 "loc": { 1801 "start": { 1802 "line": 33, 1803 "column": 8, 1804 "program": "varRedeclaration.ts" 1805 }, 1806 "end": { 1807 "line": 33, 1808 "column": 62, 1809 "program": "varRedeclaration.ts" 1810 } 1811 } 1812 }, 1813 "decorators": [], 1814 "loc": { 1815 "start": { 1816 "line": 33, 1817 "column": 5, 1818 "program": "varRedeclaration.ts" 1819 }, 1820 "end": { 1821 "line": 33, 1822 "column": 6, 1823 "program": "varRedeclaration.ts" 1824 } 1825 } 1826 }, 1827 "init": null, 1828 "loc": { 1829 "start": { 1830 "line": 33, 1831 "column": 5, 1832 "program": "varRedeclaration.ts" 1833 }, 1834 "end": { 1835 "line": 33, 1836 "column": 6, 1837 "program": "varRedeclaration.ts" 1838 } 1839 } 1840 } 1841 ], 1842 "kind": "var", 1843 "loc": { 1844 "start": { 1845 "line": 33, 1846 "column": 1, 1847 "program": "varRedeclaration.ts" 1848 }, 1849 "end": { 1850 "line": 33, 1851 "column": 63, 1852 "program": "varRedeclaration.ts" 1853 } 1854 } 1855 }, 1856 { 1857 "type": "TSInterfaceDeclaration", 1858 "body": { 1859 "type": "TSInterfaceBody", 1860 "body": [ 1861 { 1862 "type": "TSPropertySignature", 1863 "computed": false, 1864 "optional": false, 1865 "readonly": false, 1866 "key": { 1867 "type": "Identifier", 1868 "name": "a", 1869 "decorators": [], 1870 "loc": { 1871 "start": { 1872 "line": 36, 1873 "column": 5, 1874 "program": "varRedeclaration.ts" 1875 }, 1876 "end": { 1877 "line": 36, 1878 "column": 6, 1879 "program": "varRedeclaration.ts" 1880 } 1881 } 1882 }, 1883 "typeAnnotation": { 1884 "type": "TSNumberKeyword", 1885 "loc": { 1886 "start": { 1887 "line": 36, 1888 "column": 8, 1889 "program": "varRedeclaration.ts" 1890 }, 1891 "end": { 1892 "line": 36, 1893 "column": 14, 1894 "program": "varRedeclaration.ts" 1895 } 1896 } 1897 }, 1898 "loc": { 1899 "start": { 1900 "line": 36, 1901 "column": 5, 1902 "program": "varRedeclaration.ts" 1903 }, 1904 "end": { 1905 "line": 36, 1906 "column": 15, 1907 "program": "varRedeclaration.ts" 1908 } 1909 } 1910 }, 1911 { 1912 "type": "TSPropertySignature", 1913 "computed": false, 1914 "optional": false, 1915 "readonly": false, 1916 "key": { 1917 "type": "Identifier", 1918 "name": "b", 1919 "decorators": [], 1920 "loc": { 1921 "start": { 1922 "line": 37, 1923 "column": 5, 1924 "program": "varRedeclaration.ts" 1925 }, 1926 "end": { 1927 "line": 37, 1928 "column": 6, 1929 "program": "varRedeclaration.ts" 1930 } 1931 } 1932 }, 1933 "typeAnnotation": { 1934 "type": "TSStringKeyword", 1935 "loc": { 1936 "start": { 1937 "line": 37, 1938 "column": 8, 1939 "program": "varRedeclaration.ts" 1940 }, 1941 "end": { 1942 "line": 37, 1943 "column": 14, 1944 "program": "varRedeclaration.ts" 1945 } 1946 } 1947 }, 1948 "loc": { 1949 "start": { 1950 "line": 37, 1951 "column": 5, 1952 "program": "varRedeclaration.ts" 1953 }, 1954 "end": { 1955 "line": 37, 1956 "column": 15, 1957 "program": "varRedeclaration.ts" 1958 } 1959 } 1960 } 1961 ], 1962 "loc": { 1963 "start": { 1964 "line": 35, 1965 "column": 22, 1966 "program": "varRedeclaration.ts" 1967 }, 1968 "end": { 1969 "line": 38, 1970 "column": 2, 1971 "program": "varRedeclaration.ts" 1972 } 1973 } 1974 }, 1975 "id": { 1976 "type": "Identifier", 1977 "name": "interface1", 1978 "decorators": [], 1979 "loc": { 1980 "start": { 1981 "line": 35, 1982 "column": 11, 1983 "program": "varRedeclaration.ts" 1984 }, 1985 "end": { 1986 "line": 35, 1987 "column": 21, 1988 "program": "varRedeclaration.ts" 1989 } 1990 } 1991 }, 1992 "extends": [], 1993 "loc": { 1994 "start": { 1995 "line": 35, 1996 "column": 1, 1997 "program": "varRedeclaration.ts" 1998 }, 1999 "end": { 2000 "line": 38, 2001 "column": 2, 2002 "program": "varRedeclaration.ts" 2003 } 2004 } 2005 }, 2006 { 2007 "type": "TSInterfaceDeclaration", 2008 "body": { 2009 "type": "TSInterfaceBody", 2010 "body": [ 2011 { 2012 "type": "TSPropertySignature", 2013 "computed": false, 2014 "optional": false, 2015 "readonly": false, 2016 "key": { 2017 "type": "Identifier", 2018 "name": "a", 2019 "decorators": [], 2020 "loc": { 2021 "start": { 2022 "line": 41, 2023 "column": 5, 2024 "program": "varRedeclaration.ts" 2025 }, 2026 "end": { 2027 "line": 41, 2028 "column": 6, 2029 "program": "varRedeclaration.ts" 2030 } 2031 } 2032 }, 2033 "typeAnnotation": { 2034 "type": "TSNumberKeyword", 2035 "loc": { 2036 "start": { 2037 "line": 41, 2038 "column": 8, 2039 "program": "varRedeclaration.ts" 2040 }, 2041 "end": { 2042 "line": 41, 2043 "column": 14, 2044 "program": "varRedeclaration.ts" 2045 } 2046 } 2047 }, 2048 "loc": { 2049 "start": { 2050 "line": 41, 2051 "column": 5, 2052 "program": "varRedeclaration.ts" 2053 }, 2054 "end": { 2055 "line": 41, 2056 "column": 15, 2057 "program": "varRedeclaration.ts" 2058 } 2059 } 2060 }, 2061 { 2062 "type": "TSPropertySignature", 2063 "computed": false, 2064 "optional": false, 2065 "readonly": false, 2066 "key": { 2067 "type": "Identifier", 2068 "name": "b", 2069 "decorators": [], 2070 "loc": { 2071 "start": { 2072 "line": 42, 2073 "column": 5, 2074 "program": "varRedeclaration.ts" 2075 }, 2076 "end": { 2077 "line": 42, 2078 "column": 6, 2079 "program": "varRedeclaration.ts" 2080 } 2081 } 2082 }, 2083 "typeAnnotation": { 2084 "type": "TSStringKeyword", 2085 "loc": { 2086 "start": { 2087 "line": 42, 2088 "column": 8, 2089 "program": "varRedeclaration.ts" 2090 }, 2091 "end": { 2092 "line": 42, 2093 "column": 14, 2094 "program": "varRedeclaration.ts" 2095 } 2096 } 2097 }, 2098 "loc": { 2099 "start": { 2100 "line": 42, 2101 "column": 5, 2102 "program": "varRedeclaration.ts" 2103 }, 2104 "end": { 2105 "line": 42, 2106 "column": 15, 2107 "program": "varRedeclaration.ts" 2108 } 2109 } 2110 } 2111 ], 2112 "loc": { 2113 "start": { 2114 "line": 40, 2115 "column": 22, 2116 "program": "varRedeclaration.ts" 2117 }, 2118 "end": { 2119 "line": 43, 2120 "column": 2, 2121 "program": "varRedeclaration.ts" 2122 } 2123 } 2124 }, 2125 "id": { 2126 "type": "Identifier", 2127 "name": "interface2", 2128 "decorators": [], 2129 "loc": { 2130 "start": { 2131 "line": 40, 2132 "column": 11, 2133 "program": "varRedeclaration.ts" 2134 }, 2135 "end": { 2136 "line": 40, 2137 "column": 21, 2138 "program": "varRedeclaration.ts" 2139 } 2140 } 2141 }, 2142 "extends": [], 2143 "loc": { 2144 "start": { 2145 "line": 40, 2146 "column": 1, 2147 "program": "varRedeclaration.ts" 2148 }, 2149 "end": { 2150 "line": 43, 2151 "column": 2, 2152 "program": "varRedeclaration.ts" 2153 } 2154 } 2155 }, 2156 { 2157 "type": "VariableDeclaration", 2158 "declarations": [ 2159 { 2160 "type": "VariableDeclarator", 2161 "id": { 2162 "type": "Identifier", 2163 "name": "g", 2164 "typeAnnotation": { 2165 "type": "TSTypeReference", 2166 "typeName": { 2167 "type": "Identifier", 2168 "name": "interface1", 2169 "decorators": [], 2170 "loc": { 2171 "start": { 2172 "line": 45, 2173 "column": 8, 2174 "program": "varRedeclaration.ts" 2175 }, 2176 "end": { 2177 "line": 45, 2178 "column": 18, 2179 "program": "varRedeclaration.ts" 2180 } 2181 } 2182 }, 2183 "loc": { 2184 "start": { 2185 "line": 45, 2186 "column": 8, 2187 "program": "varRedeclaration.ts" 2188 }, 2189 "end": { 2190 "line": 45, 2191 "column": 18, 2192 "program": "varRedeclaration.ts" 2193 } 2194 } 2195 }, 2196 "decorators": [], 2197 "loc": { 2198 "start": { 2199 "line": 45, 2200 "column": 5, 2201 "program": "varRedeclaration.ts" 2202 }, 2203 "end": { 2204 "line": 45, 2205 "column": 6, 2206 "program": "varRedeclaration.ts" 2207 } 2208 } 2209 }, 2210 "init": null, 2211 "loc": { 2212 "start": { 2213 "line": 45, 2214 "column": 5, 2215 "program": "varRedeclaration.ts" 2216 }, 2217 "end": { 2218 "line": 45, 2219 "column": 6, 2220 "program": "varRedeclaration.ts" 2221 } 2222 } 2223 } 2224 ], 2225 "kind": "var", 2226 "loc": { 2227 "start": { 2228 "line": 45, 2229 "column": 1, 2230 "program": "varRedeclaration.ts" 2231 }, 2232 "end": { 2233 "line": 45, 2234 "column": 19, 2235 "program": "varRedeclaration.ts" 2236 } 2237 } 2238 }, 2239 { 2240 "type": "VariableDeclaration", 2241 "declarations": [ 2242 { 2243 "type": "VariableDeclarator", 2244 "id": { 2245 "type": "Identifier", 2246 "name": "g", 2247 "typeAnnotation": { 2248 "type": "TSTypeReference", 2249 "typeName": { 2250 "type": "Identifier", 2251 "name": "interface2", 2252 "decorators": [], 2253 "loc": { 2254 "start": { 2255 "line": 46, 2256 "column": 8, 2257 "program": "varRedeclaration.ts" 2258 }, 2259 "end": { 2260 "line": 46, 2261 "column": 18, 2262 "program": "varRedeclaration.ts" 2263 } 2264 } 2265 }, 2266 "loc": { 2267 "start": { 2268 "line": 46, 2269 "column": 8, 2270 "program": "varRedeclaration.ts" 2271 }, 2272 "end": { 2273 "line": 46, 2274 "column": 18, 2275 "program": "varRedeclaration.ts" 2276 } 2277 } 2278 }, 2279 "decorators": [], 2280 "loc": { 2281 "start": { 2282 "line": 46, 2283 "column": 5, 2284 "program": "varRedeclaration.ts" 2285 }, 2286 "end": { 2287 "line": 46, 2288 "column": 6, 2289 "program": "varRedeclaration.ts" 2290 } 2291 } 2292 }, 2293 "init": null, 2294 "loc": { 2295 "start": { 2296 "line": 46, 2297 "column": 5, 2298 "program": "varRedeclaration.ts" 2299 }, 2300 "end": { 2301 "line": 46, 2302 "column": 6, 2303 "program": "varRedeclaration.ts" 2304 } 2305 } 2306 } 2307 ], 2308 "kind": "var", 2309 "loc": { 2310 "start": { 2311 "line": 46, 2312 "column": 1, 2313 "program": "varRedeclaration.ts" 2314 }, 2315 "end": { 2316 "line": 46, 2317 "column": 19, 2318 "program": "varRedeclaration.ts" 2319 } 2320 } 2321 }, 2322 { 2323 "type": "TSInterfaceDeclaration", 2324 "body": { 2325 "type": "TSInterfaceBody", 2326 "body": [ 2327 { 2328 "type": "TSPropertySignature", 2329 "computed": false, 2330 "optional": false, 2331 "readonly": false, 2332 "key": { 2333 "type": "Identifier", 2334 "name": "c", 2335 "decorators": [], 2336 "loc": { 2337 "start": { 2338 "line": 49, 2339 "column": 5, 2340 "program": "varRedeclaration.ts" 2341 }, 2342 "end": { 2343 "line": 49, 2344 "column": 6, 2345 "program": "varRedeclaration.ts" 2346 } 2347 } 2348 }, 2349 "typeAnnotation": { 2350 "type": "TSBooleanKeyword", 2351 "loc": { 2352 "start": { 2353 "line": 49, 2354 "column": 8, 2355 "program": "varRedeclaration.ts" 2356 }, 2357 "end": { 2358 "line": 49, 2359 "column": 15, 2360 "program": "varRedeclaration.ts" 2361 } 2362 } 2363 }, 2364 "loc": { 2365 "start": { 2366 "line": 49, 2367 "column": 5, 2368 "program": "varRedeclaration.ts" 2369 }, 2370 "end": { 2371 "line": 49, 2372 "column": 16, 2373 "program": "varRedeclaration.ts" 2374 } 2375 } 2376 } 2377 ], 2378 "loc": { 2379 "start": { 2380 "line": 48, 2381 "column": 41, 2382 "program": "varRedeclaration.ts" 2383 }, 2384 "end": { 2385 "line": 50, 2386 "column": 2, 2387 "program": "varRedeclaration.ts" 2388 } 2389 } 2390 }, 2391 "id": { 2392 "type": "Identifier", 2393 "name": "interface3", 2394 "decorators": [], 2395 "loc": { 2396 "start": { 2397 "line": 48, 2398 "column": 11, 2399 "program": "varRedeclaration.ts" 2400 }, 2401 "end": { 2402 "line": 48, 2403 "column": 21, 2404 "program": "varRedeclaration.ts" 2405 } 2406 } 2407 }, 2408 "extends": [ 2409 { 2410 "type": "TSInterfaceHeritage", 2411 "expression": { 2412 "type": "TSTypeReference", 2413 "typeName": { 2414 "type": "Identifier", 2415 "name": "interface1", 2416 "decorators": [], 2417 "loc": { 2418 "start": { 2419 "line": 48, 2420 "column": 30, 2421 "program": "varRedeclaration.ts" 2422 }, 2423 "end": { 2424 "line": 48, 2425 "column": 40, 2426 "program": "varRedeclaration.ts" 2427 } 2428 } 2429 }, 2430 "loc": { 2431 "start": { 2432 "line": 48, 2433 "column": 41, 2434 "program": "varRedeclaration.ts" 2435 }, 2436 "end": { 2437 "line": 48, 2438 "column": 40, 2439 "program": "varRedeclaration.ts" 2440 } 2441 } 2442 }, 2443 "loc": { 2444 "start": { 2445 "line": 48, 2446 "column": 41, 2447 "program": "varRedeclaration.ts" 2448 }, 2449 "end": { 2450 "line": 48, 2451 "column": 40, 2452 "program": "varRedeclaration.ts" 2453 } 2454 } 2455 } 2456 ], 2457 "loc": { 2458 "start": { 2459 "line": 48, 2460 "column": 1, 2461 "program": "varRedeclaration.ts" 2462 }, 2463 "end": { 2464 "line": 50, 2465 "column": 2, 2466 "program": "varRedeclaration.ts" 2467 } 2468 } 2469 }, 2470 { 2471 "type": "TSInterfaceDeclaration", 2472 "body": { 2473 "type": "TSInterfaceBody", 2474 "body": [ 2475 { 2476 "type": "TSPropertySignature", 2477 "computed": false, 2478 "optional": false, 2479 "readonly": false, 2480 "key": { 2481 "type": "Identifier", 2482 "name": "c", 2483 "decorators": [], 2484 "loc": { 2485 "start": { 2486 "line": 53, 2487 "column": 5, 2488 "program": "varRedeclaration.ts" 2489 }, 2490 "end": { 2491 "line": 53, 2492 "column": 6, 2493 "program": "varRedeclaration.ts" 2494 } 2495 } 2496 }, 2497 "typeAnnotation": { 2498 "type": "TSBooleanKeyword", 2499 "loc": { 2500 "start": { 2501 "line": 53, 2502 "column": 8, 2503 "program": "varRedeclaration.ts" 2504 }, 2505 "end": { 2506 "line": 53, 2507 "column": 15, 2508 "program": "varRedeclaration.ts" 2509 } 2510 } 2511 }, 2512 "loc": { 2513 "start": { 2514 "line": 53, 2515 "column": 5, 2516 "program": "varRedeclaration.ts" 2517 }, 2518 "end": { 2519 "line": 53, 2520 "column": 16, 2521 "program": "varRedeclaration.ts" 2522 } 2523 } 2524 } 2525 ], 2526 "loc": { 2527 "start": { 2528 "line": 52, 2529 "column": 41, 2530 "program": "varRedeclaration.ts" 2531 }, 2532 "end": { 2533 "line": 54, 2534 "column": 2, 2535 "program": "varRedeclaration.ts" 2536 } 2537 } 2538 }, 2539 "id": { 2540 "type": "Identifier", 2541 "name": "interface4", 2542 "decorators": [], 2543 "loc": { 2544 "start": { 2545 "line": 52, 2546 "column": 11, 2547 "program": "varRedeclaration.ts" 2548 }, 2549 "end": { 2550 "line": 52, 2551 "column": 21, 2552 "program": "varRedeclaration.ts" 2553 } 2554 } 2555 }, 2556 "extends": [ 2557 { 2558 "type": "TSInterfaceHeritage", 2559 "expression": { 2560 "type": "TSTypeReference", 2561 "typeName": { 2562 "type": "Identifier", 2563 "name": "interface2", 2564 "decorators": [], 2565 "loc": { 2566 "start": { 2567 "line": 52, 2568 "column": 30, 2569 "program": "varRedeclaration.ts" 2570 }, 2571 "end": { 2572 "line": 52, 2573 "column": 40, 2574 "program": "varRedeclaration.ts" 2575 } 2576 } 2577 }, 2578 "loc": { 2579 "start": { 2580 "line": 52, 2581 "column": 41, 2582 "program": "varRedeclaration.ts" 2583 }, 2584 "end": { 2585 "line": 52, 2586 "column": 40, 2587 "program": "varRedeclaration.ts" 2588 } 2589 } 2590 }, 2591 "loc": { 2592 "start": { 2593 "line": 52, 2594 "column": 41, 2595 "program": "varRedeclaration.ts" 2596 }, 2597 "end": { 2598 "line": 52, 2599 "column": 40, 2600 "program": "varRedeclaration.ts" 2601 } 2602 } 2603 } 2604 ], 2605 "loc": { 2606 "start": { 2607 "line": 52, 2608 "column": 1, 2609 "program": "varRedeclaration.ts" 2610 }, 2611 "end": { 2612 "line": 54, 2613 "column": 2, 2614 "program": "varRedeclaration.ts" 2615 } 2616 } 2617 }, 2618 { 2619 "type": "VariableDeclaration", 2620 "declarations": [ 2621 { 2622 "type": "VariableDeclarator", 2623 "id": { 2624 "type": "Identifier", 2625 "name": "h", 2626 "typeAnnotation": { 2627 "type": "TSTypeReference", 2628 "typeName": { 2629 "type": "Identifier", 2630 "name": "interface3", 2631 "decorators": [], 2632 "loc": { 2633 "start": { 2634 "line": 56, 2635 "column": 8, 2636 "program": "varRedeclaration.ts" 2637 }, 2638 "end": { 2639 "line": 56, 2640 "column": 18, 2641 "program": "varRedeclaration.ts" 2642 } 2643 } 2644 }, 2645 "loc": { 2646 "start": { 2647 "line": 56, 2648 "column": 8, 2649 "program": "varRedeclaration.ts" 2650 }, 2651 "end": { 2652 "line": 56, 2653 "column": 18, 2654 "program": "varRedeclaration.ts" 2655 } 2656 } 2657 }, 2658 "decorators": [], 2659 "loc": { 2660 "start": { 2661 "line": 56, 2662 "column": 5, 2663 "program": "varRedeclaration.ts" 2664 }, 2665 "end": { 2666 "line": 56, 2667 "column": 6, 2668 "program": "varRedeclaration.ts" 2669 } 2670 } 2671 }, 2672 "init": null, 2673 "loc": { 2674 "start": { 2675 "line": 56, 2676 "column": 5, 2677 "program": "varRedeclaration.ts" 2678 }, 2679 "end": { 2680 "line": 56, 2681 "column": 6, 2682 "program": "varRedeclaration.ts" 2683 } 2684 } 2685 } 2686 ], 2687 "kind": "var", 2688 "loc": { 2689 "start": { 2690 "line": 56, 2691 "column": 1, 2692 "program": "varRedeclaration.ts" 2693 }, 2694 "end": { 2695 "line": 56, 2696 "column": 19, 2697 "program": "varRedeclaration.ts" 2698 } 2699 } 2700 }, 2701 { 2702 "type": "VariableDeclaration", 2703 "declarations": [ 2704 { 2705 "type": "VariableDeclarator", 2706 "id": { 2707 "type": "Identifier", 2708 "name": "h", 2709 "typeAnnotation": { 2710 "type": "TSTypeReference", 2711 "typeName": { 2712 "type": "Identifier", 2713 "name": "interface4", 2714 "decorators": [], 2715 "loc": { 2716 "start": { 2717 "line": 57, 2718 "column": 8, 2719 "program": "varRedeclaration.ts" 2720 }, 2721 "end": { 2722 "line": 57, 2723 "column": 18, 2724 "program": "varRedeclaration.ts" 2725 } 2726 } 2727 }, 2728 "loc": { 2729 "start": { 2730 "line": 57, 2731 "column": 8, 2732 "program": "varRedeclaration.ts" 2733 }, 2734 "end": { 2735 "line": 57, 2736 "column": 18, 2737 "program": "varRedeclaration.ts" 2738 } 2739 } 2740 }, 2741 "decorators": [], 2742 "loc": { 2743 "start": { 2744 "line": 57, 2745 "column": 5, 2746 "program": "varRedeclaration.ts" 2747 }, 2748 "end": { 2749 "line": 57, 2750 "column": 6, 2751 "program": "varRedeclaration.ts" 2752 } 2753 } 2754 }, 2755 "init": null, 2756 "loc": { 2757 "start": { 2758 "line": 57, 2759 "column": 5, 2760 "program": "varRedeclaration.ts" 2761 }, 2762 "end": { 2763 "line": 57, 2764 "column": 6, 2765 "program": "varRedeclaration.ts" 2766 } 2767 } 2768 } 2769 ], 2770 "kind": "var", 2771 "loc": { 2772 "start": { 2773 "line": 57, 2774 "column": 1, 2775 "program": "varRedeclaration.ts" 2776 }, 2777 "end": { 2778 "line": 57, 2779 "column": 19, 2780 "program": "varRedeclaration.ts" 2781 } 2782 } 2783 }, 2784 { 2785 "type": "TSInterfaceDeclaration", 2786 "body": { 2787 "type": "TSInterfaceBody", 2788 "body": [ 2789 { 2790 "type": "TSCallSignatureDeclaration", 2791 "params": [ 2792 { 2793 "type": "Identifier", 2794 "name": "a", 2795 "typeAnnotation": { 2796 "type": "TSNumberKeyword", 2797 "loc": { 2798 "start": { 2799 "line": 60, 2800 "column": 9, 2801 "program": "varRedeclaration.ts" 2802 }, 2803 "end": { 2804 "line": 60, 2805 "column": 15, 2806 "program": "varRedeclaration.ts" 2807 } 2808 } 2809 }, 2810 "decorators": [], 2811 "loc": { 2812 "start": { 2813 "line": 60, 2814 "column": 6, 2815 "program": "varRedeclaration.ts" 2816 }, 2817 "end": { 2818 "line": 60, 2819 "column": 7, 2820 "program": "varRedeclaration.ts" 2821 } 2822 } 2823 }, 2824 { 2825 "type": "Identifier", 2826 "name": "b", 2827 "typeAnnotation": { 2828 "type": "TSStringKeyword", 2829 "loc": { 2830 "start": { 2831 "line": 60, 2832 "column": 20, 2833 "program": "varRedeclaration.ts" 2834 }, 2835 "end": { 2836 "line": 60, 2837 "column": 26, 2838 "program": "varRedeclaration.ts" 2839 } 2840 } 2841 }, 2842 "decorators": [], 2843 "loc": { 2844 "start": { 2845 "line": 60, 2846 "column": 17, 2847 "program": "varRedeclaration.ts" 2848 }, 2849 "end": { 2850 "line": 60, 2851 "column": 18, 2852 "program": "varRedeclaration.ts" 2853 } 2854 } 2855 } 2856 ], 2857 "returnType": { 2858 "type": "TSNumberKeyword", 2859 "loc": { 2860 "start": { 2861 "line": 60, 2862 "column": 29, 2863 "program": "varRedeclaration.ts" 2864 }, 2865 "end": { 2866 "line": 60, 2867 "column": 35, 2868 "program": "varRedeclaration.ts" 2869 } 2870 } 2871 }, 2872 "loc": { 2873 "start": { 2874 "line": 60, 2875 "column": 5, 2876 "program": "varRedeclaration.ts" 2877 }, 2878 "end": { 2879 "line": 60, 2880 "column": 36, 2881 "program": "varRedeclaration.ts" 2882 } 2883 } 2884 }, 2885 { 2886 "type": "TSCallSignatureDeclaration", 2887 "params": [ 2888 { 2889 "type": "Identifier", 2890 "name": "a", 2891 "typeAnnotation": { 2892 "type": "TSNumberKeyword", 2893 "loc": { 2894 "start": { 2895 "line": 61, 2896 "column": 9, 2897 "program": "varRedeclaration.ts" 2898 }, 2899 "end": { 2900 "line": 61, 2901 "column": 15, 2902 "program": "varRedeclaration.ts" 2903 } 2904 } 2905 }, 2906 "decorators": [], 2907 "loc": { 2908 "start": { 2909 "line": 61, 2910 "column": 6, 2911 "program": "varRedeclaration.ts" 2912 }, 2913 "end": { 2914 "line": 61, 2915 "column": 7, 2916 "program": "varRedeclaration.ts" 2917 } 2918 } 2919 }, 2920 { 2921 "type": "Identifier", 2922 "name": "b", 2923 "typeAnnotation": { 2924 "type": "TSStringKeyword", 2925 "loc": { 2926 "start": { 2927 "line": 61, 2928 "column": 20, 2929 "program": "varRedeclaration.ts" 2930 }, 2931 "end": { 2932 "line": 61, 2933 "column": 26, 2934 "program": "varRedeclaration.ts" 2935 } 2936 } 2937 }, 2938 "decorators": [], 2939 "loc": { 2940 "start": { 2941 "line": 61, 2942 "column": 17, 2943 "program": "varRedeclaration.ts" 2944 }, 2945 "end": { 2946 "line": 61, 2947 "column": 18, 2948 "program": "varRedeclaration.ts" 2949 } 2950 } 2951 } 2952 ], 2953 "returnType": { 2954 "type": "TSStringKeyword", 2955 "loc": { 2956 "start": { 2957 "line": 61, 2958 "column": 29, 2959 "program": "varRedeclaration.ts" 2960 }, 2961 "end": { 2962 "line": 61, 2963 "column": 35, 2964 "program": "varRedeclaration.ts" 2965 } 2966 } 2967 }, 2968 "loc": { 2969 "start": { 2970 "line": 61, 2971 "column": 5, 2972 "program": "varRedeclaration.ts" 2973 }, 2974 "end": { 2975 "line": 61, 2976 "column": 36, 2977 "program": "varRedeclaration.ts" 2978 } 2979 } 2980 }, 2981 { 2982 "type": "TSConstructSignatureDeclaration", 2983 "params": [ 2984 { 2985 "type": "Identifier", 2986 "name": "a", 2987 "typeAnnotation": { 2988 "type": "TSArrayType", 2989 "elementType": { 2990 "type": "TSNumberKeyword", 2991 "loc": { 2992 "start": { 2993 "line": 62, 2994 "column": 12, 2995 "program": "varRedeclaration.ts" 2996 }, 2997 "end": { 2998 "line": 62, 2999 "column": 18, 3000 "program": "varRedeclaration.ts" 3001 } 3002 } 3003 }, 3004 "annotations": [], 3005 "loc": { 3006 "start": { 3007 "line": 62, 3008 "column": 12, 3009 "program": "varRedeclaration.ts" 3010 }, 3011 "end": { 3012 "line": 62, 3013 "column": 20, 3014 "program": "varRedeclaration.ts" 3015 } 3016 } 3017 }, 3018 "decorators": [], 3019 "loc": { 3020 "start": { 3021 "line": 62, 3022 "column": 9, 3023 "program": "varRedeclaration.ts" 3024 }, 3025 "end": { 3026 "line": 62, 3027 "column": 10, 3028 "program": "varRedeclaration.ts" 3029 } 3030 } 3031 }, 3032 { 3033 "type": "Identifier", 3034 "name": "b", 3035 "typeAnnotation": { 3036 "type": "TSTypeLiteral", 3037 "members": [ 3038 { 3039 "type": "TSPropertySignature", 3040 "computed": false, 3041 "optional": false, 3042 "readonly": false, 3043 "key": { 3044 "type": "Identifier", 3045 "name": "a", 3046 "decorators": [], 3047 "loc": { 3048 "start": { 3049 "line": 62, 3050 "column": 27, 3051 "program": "varRedeclaration.ts" 3052 }, 3053 "end": { 3054 "line": 62, 3055 "column": 28, 3056 "program": "varRedeclaration.ts" 3057 } 3058 } 3059 }, 3060 "typeAnnotation": { 3061 "type": "TSNumberKeyword", 3062 "loc": { 3063 "start": { 3064 "line": 62, 3065 "column": 30, 3066 "program": "varRedeclaration.ts" 3067 }, 3068 "end": { 3069 "line": 62, 3070 "column": 36, 3071 "program": "varRedeclaration.ts" 3072 } 3073 } 3074 }, 3075 "loc": { 3076 "start": { 3077 "line": 62, 3078 "column": 27, 3079 "program": "varRedeclaration.ts" 3080 }, 3081 "end": { 3082 "line": 62, 3083 "column": 37, 3084 "program": "varRedeclaration.ts" 3085 } 3086 } 3087 }, 3088 { 3089 "type": "TSPropertySignature", 3090 "computed": false, 3091 "optional": false, 3092 "readonly": false, 3093 "key": { 3094 "type": "Identifier", 3095 "name": "b", 3096 "decorators": [], 3097 "loc": { 3098 "start": { 3099 "line": 62, 3100 "column": 38, 3101 "program": "varRedeclaration.ts" 3102 }, 3103 "end": { 3104 "line": 62, 3105 "column": 39, 3106 "program": "varRedeclaration.ts" 3107 } 3108 } 3109 }, 3110 "typeAnnotation": { 3111 "type": "TSStringKeyword", 3112 "loc": { 3113 "start": { 3114 "line": 62, 3115 "column": 41, 3116 "program": "varRedeclaration.ts" 3117 }, 3118 "end": { 3119 "line": 62, 3120 "column": 47, 3121 "program": "varRedeclaration.ts" 3122 } 3123 } 3124 }, 3125 "loc": { 3126 "start": { 3127 "line": 62, 3128 "column": 38, 3129 "program": "varRedeclaration.ts" 3130 }, 3131 "end": { 3132 "line": 62, 3133 "column": 49, 3134 "program": "varRedeclaration.ts" 3135 } 3136 } 3137 } 3138 ], 3139 "loc": { 3140 "start": { 3141 "line": 62, 3142 "column": 25, 3143 "program": "varRedeclaration.ts" 3144 }, 3145 "end": { 3146 "line": 62, 3147 "column": 49, 3148 "program": "varRedeclaration.ts" 3149 } 3150 } 3151 }, 3152 "decorators": [], 3153 "loc": { 3154 "start": { 3155 "line": 62, 3156 "column": 22, 3157 "program": "varRedeclaration.ts" 3158 }, 3159 "end": { 3160 "line": 62, 3161 "column": 23, 3162 "program": "varRedeclaration.ts" 3163 } 3164 } 3165 } 3166 ], 3167 "returnType": { 3168 "type": "TSBooleanKeyword", 3169 "loc": { 3170 "start": { 3171 "line": 62, 3172 "column": 52, 3173 "program": "varRedeclaration.ts" 3174 }, 3175 "end": { 3176 "line": 62, 3177 "column": 59, 3178 "program": "varRedeclaration.ts" 3179 } 3180 } 3181 }, 3182 "loc": { 3183 "start": { 3184 "line": 62, 3185 "column": 5, 3186 "program": "varRedeclaration.ts" 3187 }, 3188 "end": { 3189 "line": 62, 3190 "column": 60, 3191 "program": "varRedeclaration.ts" 3192 } 3193 } 3194 }, 3195 { 3196 "type": "TSConstructSignatureDeclaration", 3197 "params": [ 3198 { 3199 "type": "Identifier", 3200 "name": "a", 3201 "typeAnnotation": { 3202 "type": "TSArrayType", 3203 "elementType": { 3204 "type": "TSNumberKeyword", 3205 "loc": { 3206 "start": { 3207 "line": 63, 3208 "column": 12, 3209 "program": "varRedeclaration.ts" 3210 }, 3211 "end": { 3212 "line": 63, 3213 "column": 18, 3214 "program": "varRedeclaration.ts" 3215 } 3216 } 3217 }, 3218 "annotations": [], 3219 "loc": { 3220 "start": { 3221 "line": 63, 3222 "column": 12, 3223 "program": "varRedeclaration.ts" 3224 }, 3225 "end": { 3226 "line": 63, 3227 "column": 20, 3228 "program": "varRedeclaration.ts" 3229 } 3230 } 3231 }, 3232 "decorators": [], 3233 "loc": { 3234 "start": { 3235 "line": 63, 3236 "column": 9, 3237 "program": "varRedeclaration.ts" 3238 }, 3239 "end": { 3240 "line": 63, 3241 "column": 10, 3242 "program": "varRedeclaration.ts" 3243 } 3244 } 3245 }, 3246 { 3247 "type": "Identifier", 3248 "name": "b", 3249 "typeAnnotation": { 3250 "type": "TSTypeLiteral", 3251 "members": [ 3252 { 3253 "type": "TSPropertySignature", 3254 "computed": false, 3255 "optional": false, 3256 "readonly": false, 3257 "key": { 3258 "type": "Identifier", 3259 "name": "a", 3260 "decorators": [], 3261 "loc": { 3262 "start": { 3263 "line": 63, 3264 "column": 27, 3265 "program": "varRedeclaration.ts" 3266 }, 3267 "end": { 3268 "line": 63, 3269 "column": 28, 3270 "program": "varRedeclaration.ts" 3271 } 3272 } 3273 }, 3274 "typeAnnotation": { 3275 "type": "TSNumberKeyword", 3276 "loc": { 3277 "start": { 3278 "line": 63, 3279 "column": 30, 3280 "program": "varRedeclaration.ts" 3281 }, 3282 "end": { 3283 "line": 63, 3284 "column": 36, 3285 "program": "varRedeclaration.ts" 3286 } 3287 } 3288 }, 3289 "loc": { 3290 "start": { 3291 "line": 63, 3292 "column": 27, 3293 "program": "varRedeclaration.ts" 3294 }, 3295 "end": { 3296 "line": 63, 3297 "column": 37, 3298 "program": "varRedeclaration.ts" 3299 } 3300 } 3301 }, 3302 { 3303 "type": "TSPropertySignature", 3304 "computed": false, 3305 "optional": false, 3306 "readonly": false, 3307 "key": { 3308 "type": "Identifier", 3309 "name": "b", 3310 "decorators": [], 3311 "loc": { 3312 "start": { 3313 "line": 63, 3314 "column": 38, 3315 "program": "varRedeclaration.ts" 3316 }, 3317 "end": { 3318 "line": 63, 3319 "column": 39, 3320 "program": "varRedeclaration.ts" 3321 } 3322 } 3323 }, 3324 "typeAnnotation": { 3325 "type": "TSStringKeyword", 3326 "loc": { 3327 "start": { 3328 "line": 63, 3329 "column": 41, 3330 "program": "varRedeclaration.ts" 3331 }, 3332 "end": { 3333 "line": 63, 3334 "column": 47, 3335 "program": "varRedeclaration.ts" 3336 } 3337 } 3338 }, 3339 "loc": { 3340 "start": { 3341 "line": 63, 3342 "column": 38, 3343 "program": "varRedeclaration.ts" 3344 }, 3345 "end": { 3346 "line": 63, 3347 "column": 49, 3348 "program": "varRedeclaration.ts" 3349 } 3350 } 3351 } 3352 ], 3353 "loc": { 3354 "start": { 3355 "line": 63, 3356 "column": 25, 3357 "program": "varRedeclaration.ts" 3358 }, 3359 "end": { 3360 "line": 63, 3361 "column": 49, 3362 "program": "varRedeclaration.ts" 3363 } 3364 } 3365 }, 3366 "decorators": [], 3367 "loc": { 3368 "start": { 3369 "line": 63, 3370 "column": 22, 3371 "program": "varRedeclaration.ts" 3372 }, 3373 "end": { 3374 "line": 63, 3375 "column": 23, 3376 "program": "varRedeclaration.ts" 3377 } 3378 } 3379 } 3380 ], 3381 "returnType": { 3382 "type": "TSVoidKeyword", 3383 "loc": { 3384 "start": { 3385 "line": 63, 3386 "column": 52, 3387 "program": "varRedeclaration.ts" 3388 }, 3389 "end": { 3390 "line": 63, 3391 "column": 56, 3392 "program": "varRedeclaration.ts" 3393 } 3394 } 3395 }, 3396 "loc": { 3397 "start": { 3398 "line": 63, 3399 "column": 5, 3400 "program": "varRedeclaration.ts" 3401 }, 3402 "end": { 3403 "line": 63, 3404 "column": 57, 3405 "program": "varRedeclaration.ts" 3406 } 3407 } 3408 } 3409 ], 3410 "loc": { 3411 "start": { 3412 "line": 59, 3413 "column": 22, 3414 "program": "varRedeclaration.ts" 3415 }, 3416 "end": { 3417 "line": 64, 3418 "column": 2, 3419 "program": "varRedeclaration.ts" 3420 } 3421 } 3422 }, 3423 "id": { 3424 "type": "Identifier", 3425 "name": "interface5", 3426 "decorators": [], 3427 "loc": { 3428 "start": { 3429 "line": 59, 3430 "column": 11, 3431 "program": "varRedeclaration.ts" 3432 }, 3433 "end": { 3434 "line": 59, 3435 "column": 21, 3436 "program": "varRedeclaration.ts" 3437 } 3438 } 3439 }, 3440 "extends": [], 3441 "loc": { 3442 "start": { 3443 "line": 59, 3444 "column": 1, 3445 "program": "varRedeclaration.ts" 3446 }, 3447 "end": { 3448 "line": 64, 3449 "column": 2, 3450 "program": "varRedeclaration.ts" 3451 } 3452 } 3453 }, 3454 { 3455 "type": "TSInterfaceDeclaration", 3456 "body": { 3457 "type": "TSInterfaceBody", 3458 "body": [ 3459 { 3460 "type": "TSCallSignatureDeclaration", 3461 "params": [ 3462 { 3463 "type": "Identifier", 3464 "name": "a", 3465 "typeAnnotation": { 3466 "type": "TSNumberKeyword", 3467 "loc": { 3468 "start": { 3469 "line": 67, 3470 "column": 9, 3471 "program": "varRedeclaration.ts" 3472 }, 3473 "end": { 3474 "line": 67, 3475 "column": 15, 3476 "program": "varRedeclaration.ts" 3477 } 3478 } 3479 }, 3480 "decorators": [], 3481 "loc": { 3482 "start": { 3483 "line": 67, 3484 "column": 6, 3485 "program": "varRedeclaration.ts" 3486 }, 3487 "end": { 3488 "line": 67, 3489 "column": 7, 3490 "program": "varRedeclaration.ts" 3491 } 3492 } 3493 }, 3494 { 3495 "type": "Identifier", 3496 "name": "b", 3497 "typeAnnotation": { 3498 "type": "TSStringKeyword", 3499 "loc": { 3500 "start": { 3501 "line": 67, 3502 "column": 20, 3503 "program": "varRedeclaration.ts" 3504 }, 3505 "end": { 3506 "line": 67, 3507 "column": 26, 3508 "program": "varRedeclaration.ts" 3509 } 3510 } 3511 }, 3512 "decorators": [], 3513 "loc": { 3514 "start": { 3515 "line": 67, 3516 "column": 17, 3517 "program": "varRedeclaration.ts" 3518 }, 3519 "end": { 3520 "line": 67, 3521 "column": 18, 3522 "program": "varRedeclaration.ts" 3523 } 3524 } 3525 } 3526 ], 3527 "returnType": { 3528 "type": "TSNumberKeyword", 3529 "loc": { 3530 "start": { 3531 "line": 67, 3532 "column": 29, 3533 "program": "varRedeclaration.ts" 3534 }, 3535 "end": { 3536 "line": 67, 3537 "column": 35, 3538 "program": "varRedeclaration.ts" 3539 } 3540 } 3541 }, 3542 "loc": { 3543 "start": { 3544 "line": 67, 3545 "column": 5, 3546 "program": "varRedeclaration.ts" 3547 }, 3548 "end": { 3549 "line": 67, 3550 "column": 36, 3551 "program": "varRedeclaration.ts" 3552 } 3553 } 3554 }, 3555 { 3556 "type": "TSCallSignatureDeclaration", 3557 "params": [ 3558 { 3559 "type": "Identifier", 3560 "name": "a", 3561 "typeAnnotation": { 3562 "type": "TSNumberKeyword", 3563 "loc": { 3564 "start": { 3565 "line": 68, 3566 "column": 9, 3567 "program": "varRedeclaration.ts" 3568 }, 3569 "end": { 3570 "line": 68, 3571 "column": 15, 3572 "program": "varRedeclaration.ts" 3573 } 3574 } 3575 }, 3576 "decorators": [], 3577 "loc": { 3578 "start": { 3579 "line": 68, 3580 "column": 6, 3581 "program": "varRedeclaration.ts" 3582 }, 3583 "end": { 3584 "line": 68, 3585 "column": 7, 3586 "program": "varRedeclaration.ts" 3587 } 3588 } 3589 }, 3590 { 3591 "type": "Identifier", 3592 "name": "b", 3593 "typeAnnotation": { 3594 "type": "TSStringKeyword", 3595 "loc": { 3596 "start": { 3597 "line": 68, 3598 "column": 20, 3599 "program": "varRedeclaration.ts" 3600 }, 3601 "end": { 3602 "line": 68, 3603 "column": 26, 3604 "program": "varRedeclaration.ts" 3605 } 3606 } 3607 }, 3608 "decorators": [], 3609 "loc": { 3610 "start": { 3611 "line": 68, 3612 "column": 17, 3613 "program": "varRedeclaration.ts" 3614 }, 3615 "end": { 3616 "line": 68, 3617 "column": 18, 3618 "program": "varRedeclaration.ts" 3619 } 3620 } 3621 } 3622 ], 3623 "returnType": { 3624 "type": "TSStringKeyword", 3625 "loc": { 3626 "start": { 3627 "line": 68, 3628 "column": 29, 3629 "program": "varRedeclaration.ts" 3630 }, 3631 "end": { 3632 "line": 68, 3633 "column": 35, 3634 "program": "varRedeclaration.ts" 3635 } 3636 } 3637 }, 3638 "loc": { 3639 "start": { 3640 "line": 68, 3641 "column": 5, 3642 "program": "varRedeclaration.ts" 3643 }, 3644 "end": { 3645 "line": 68, 3646 "column": 36, 3647 "program": "varRedeclaration.ts" 3648 } 3649 } 3650 }, 3651 { 3652 "type": "TSConstructSignatureDeclaration", 3653 "params": [ 3654 { 3655 "type": "Identifier", 3656 "name": "a", 3657 "typeAnnotation": { 3658 "type": "TSArrayType", 3659 "elementType": { 3660 "type": "TSNumberKeyword", 3661 "loc": { 3662 "start": { 3663 "line": 69, 3664 "column": 12, 3665 "program": "varRedeclaration.ts" 3666 }, 3667 "end": { 3668 "line": 69, 3669 "column": 18, 3670 "program": "varRedeclaration.ts" 3671 } 3672 } 3673 }, 3674 "annotations": [], 3675 "loc": { 3676 "start": { 3677 "line": 69, 3678 "column": 12, 3679 "program": "varRedeclaration.ts" 3680 }, 3681 "end": { 3682 "line": 69, 3683 "column": 20, 3684 "program": "varRedeclaration.ts" 3685 } 3686 } 3687 }, 3688 "decorators": [], 3689 "loc": { 3690 "start": { 3691 "line": 69, 3692 "column": 9, 3693 "program": "varRedeclaration.ts" 3694 }, 3695 "end": { 3696 "line": 69, 3697 "column": 10, 3698 "program": "varRedeclaration.ts" 3699 } 3700 } 3701 }, 3702 { 3703 "type": "Identifier", 3704 "name": "b", 3705 "typeAnnotation": { 3706 "type": "TSTypeLiteral", 3707 "members": [ 3708 { 3709 "type": "TSPropertySignature", 3710 "computed": false, 3711 "optional": false, 3712 "readonly": false, 3713 "key": { 3714 "type": "Identifier", 3715 "name": "a", 3716 "decorators": [], 3717 "loc": { 3718 "start": { 3719 "line": 69, 3720 "column": 27, 3721 "program": "varRedeclaration.ts" 3722 }, 3723 "end": { 3724 "line": 69, 3725 "column": 28, 3726 "program": "varRedeclaration.ts" 3727 } 3728 } 3729 }, 3730 "typeAnnotation": { 3731 "type": "TSNumberKeyword", 3732 "loc": { 3733 "start": { 3734 "line": 69, 3735 "column": 30, 3736 "program": "varRedeclaration.ts" 3737 }, 3738 "end": { 3739 "line": 69, 3740 "column": 36, 3741 "program": "varRedeclaration.ts" 3742 } 3743 } 3744 }, 3745 "loc": { 3746 "start": { 3747 "line": 69, 3748 "column": 27, 3749 "program": "varRedeclaration.ts" 3750 }, 3751 "end": { 3752 "line": 69, 3753 "column": 37, 3754 "program": "varRedeclaration.ts" 3755 } 3756 } 3757 }, 3758 { 3759 "type": "TSPropertySignature", 3760 "computed": false, 3761 "optional": false, 3762 "readonly": false, 3763 "key": { 3764 "type": "Identifier", 3765 "name": "b", 3766 "decorators": [], 3767 "loc": { 3768 "start": { 3769 "line": 69, 3770 "column": 38, 3771 "program": "varRedeclaration.ts" 3772 }, 3773 "end": { 3774 "line": 69, 3775 "column": 39, 3776 "program": "varRedeclaration.ts" 3777 } 3778 } 3779 }, 3780 "typeAnnotation": { 3781 "type": "TSStringKeyword", 3782 "loc": { 3783 "start": { 3784 "line": 69, 3785 "column": 41, 3786 "program": "varRedeclaration.ts" 3787 }, 3788 "end": { 3789 "line": 69, 3790 "column": 47, 3791 "program": "varRedeclaration.ts" 3792 } 3793 } 3794 }, 3795 "loc": { 3796 "start": { 3797 "line": 69, 3798 "column": 38, 3799 "program": "varRedeclaration.ts" 3800 }, 3801 "end": { 3802 "line": 69, 3803 "column": 49, 3804 "program": "varRedeclaration.ts" 3805 } 3806 } 3807 } 3808 ], 3809 "loc": { 3810 "start": { 3811 "line": 69, 3812 "column": 25, 3813 "program": "varRedeclaration.ts" 3814 }, 3815 "end": { 3816 "line": 69, 3817 "column": 49, 3818 "program": "varRedeclaration.ts" 3819 } 3820 } 3821 }, 3822 "decorators": [], 3823 "loc": { 3824 "start": { 3825 "line": 69, 3826 "column": 22, 3827 "program": "varRedeclaration.ts" 3828 }, 3829 "end": { 3830 "line": 69, 3831 "column": 23, 3832 "program": "varRedeclaration.ts" 3833 } 3834 } 3835 } 3836 ], 3837 "returnType": { 3838 "type": "TSVoidKeyword", 3839 "loc": { 3840 "start": { 3841 "line": 69, 3842 "column": 52, 3843 "program": "varRedeclaration.ts" 3844 }, 3845 "end": { 3846 "line": 69, 3847 "column": 56, 3848 "program": "varRedeclaration.ts" 3849 } 3850 } 3851 }, 3852 "loc": { 3853 "start": { 3854 "line": 69, 3855 "column": 5, 3856 "program": "varRedeclaration.ts" 3857 }, 3858 "end": { 3859 "line": 69, 3860 "column": 57, 3861 "program": "varRedeclaration.ts" 3862 } 3863 } 3864 }, 3865 { 3866 "type": "TSConstructSignatureDeclaration", 3867 "params": [ 3868 { 3869 "type": "Identifier", 3870 "name": "a", 3871 "typeAnnotation": { 3872 "type": "TSArrayType", 3873 "elementType": { 3874 "type": "TSNumberKeyword", 3875 "loc": { 3876 "start": { 3877 "line": 70, 3878 "column": 12, 3879 "program": "varRedeclaration.ts" 3880 }, 3881 "end": { 3882 "line": 70, 3883 "column": 18, 3884 "program": "varRedeclaration.ts" 3885 } 3886 } 3887 }, 3888 "annotations": [], 3889 "loc": { 3890 "start": { 3891 "line": 70, 3892 "column": 12, 3893 "program": "varRedeclaration.ts" 3894 }, 3895 "end": { 3896 "line": 70, 3897 "column": 20, 3898 "program": "varRedeclaration.ts" 3899 } 3900 } 3901 }, 3902 "decorators": [], 3903 "loc": { 3904 "start": { 3905 "line": 70, 3906 "column": 9, 3907 "program": "varRedeclaration.ts" 3908 }, 3909 "end": { 3910 "line": 70, 3911 "column": 10, 3912 "program": "varRedeclaration.ts" 3913 } 3914 } 3915 }, 3916 { 3917 "type": "Identifier", 3918 "name": "b", 3919 "typeAnnotation": { 3920 "type": "TSTypeLiteral", 3921 "members": [ 3922 { 3923 "type": "TSPropertySignature", 3924 "computed": false, 3925 "optional": false, 3926 "readonly": false, 3927 "key": { 3928 "type": "Identifier", 3929 "name": "a", 3930 "decorators": [], 3931 "loc": { 3932 "start": { 3933 "line": 70, 3934 "column": 27, 3935 "program": "varRedeclaration.ts" 3936 }, 3937 "end": { 3938 "line": 70, 3939 "column": 28, 3940 "program": "varRedeclaration.ts" 3941 } 3942 } 3943 }, 3944 "typeAnnotation": { 3945 "type": "TSNumberKeyword", 3946 "loc": { 3947 "start": { 3948 "line": 70, 3949 "column": 30, 3950 "program": "varRedeclaration.ts" 3951 }, 3952 "end": { 3953 "line": 70, 3954 "column": 36, 3955 "program": "varRedeclaration.ts" 3956 } 3957 } 3958 }, 3959 "loc": { 3960 "start": { 3961 "line": 70, 3962 "column": 27, 3963 "program": "varRedeclaration.ts" 3964 }, 3965 "end": { 3966 "line": 70, 3967 "column": 37, 3968 "program": "varRedeclaration.ts" 3969 } 3970 } 3971 }, 3972 { 3973 "type": "TSPropertySignature", 3974 "computed": false, 3975 "optional": false, 3976 "readonly": false, 3977 "key": { 3978 "type": "Identifier", 3979 "name": "b", 3980 "decorators": [], 3981 "loc": { 3982 "start": { 3983 "line": 70, 3984 "column": 38, 3985 "program": "varRedeclaration.ts" 3986 }, 3987 "end": { 3988 "line": 70, 3989 "column": 39, 3990 "program": "varRedeclaration.ts" 3991 } 3992 } 3993 }, 3994 "typeAnnotation": { 3995 "type": "TSStringKeyword", 3996 "loc": { 3997 "start": { 3998 "line": 70, 3999 "column": 41, 4000 "program": "varRedeclaration.ts" 4001 }, 4002 "end": { 4003 "line": 70, 4004 "column": 47, 4005 "program": "varRedeclaration.ts" 4006 } 4007 } 4008 }, 4009 "loc": { 4010 "start": { 4011 "line": 70, 4012 "column": 38, 4013 "program": "varRedeclaration.ts" 4014 }, 4015 "end": { 4016 "line": 70, 4017 "column": 49, 4018 "program": "varRedeclaration.ts" 4019 } 4020 } 4021 } 4022 ], 4023 "loc": { 4024 "start": { 4025 "line": 70, 4026 "column": 25, 4027 "program": "varRedeclaration.ts" 4028 }, 4029 "end": { 4030 "line": 70, 4031 "column": 49, 4032 "program": "varRedeclaration.ts" 4033 } 4034 } 4035 }, 4036 "decorators": [], 4037 "loc": { 4038 "start": { 4039 "line": 70, 4040 "column": 22, 4041 "program": "varRedeclaration.ts" 4042 }, 4043 "end": { 4044 "line": 70, 4045 "column": 23, 4046 "program": "varRedeclaration.ts" 4047 } 4048 } 4049 } 4050 ], 4051 "returnType": { 4052 "type": "TSBooleanKeyword", 4053 "loc": { 4054 "start": { 4055 "line": 70, 4056 "column": 52, 4057 "program": "varRedeclaration.ts" 4058 }, 4059 "end": { 4060 "line": 70, 4061 "column": 59, 4062 "program": "varRedeclaration.ts" 4063 } 4064 } 4065 }, 4066 "loc": { 4067 "start": { 4068 "line": 70, 4069 "column": 5, 4070 "program": "varRedeclaration.ts" 4071 }, 4072 "end": { 4073 "line": 70, 4074 "column": 60, 4075 "program": "varRedeclaration.ts" 4076 } 4077 } 4078 } 4079 ], 4080 "loc": { 4081 "start": { 4082 "line": 66, 4083 "column": 22, 4084 "program": "varRedeclaration.ts" 4085 }, 4086 "end": { 4087 "line": 71, 4088 "column": 2, 4089 "program": "varRedeclaration.ts" 4090 } 4091 } 4092 }, 4093 "id": { 4094 "type": "Identifier", 4095 "name": "interface6", 4096 "decorators": [], 4097 "loc": { 4098 "start": { 4099 "line": 66, 4100 "column": 11, 4101 "program": "varRedeclaration.ts" 4102 }, 4103 "end": { 4104 "line": 66, 4105 "column": 21, 4106 "program": "varRedeclaration.ts" 4107 } 4108 } 4109 }, 4110 "extends": [], 4111 "loc": { 4112 "start": { 4113 "line": 66, 4114 "column": 1, 4115 "program": "varRedeclaration.ts" 4116 }, 4117 "end": { 4118 "line": 71, 4119 "column": 2, 4120 "program": "varRedeclaration.ts" 4121 } 4122 } 4123 }, 4124 { 4125 "type": "VariableDeclaration", 4126 "declarations": [ 4127 { 4128 "type": "VariableDeclarator", 4129 "id": { 4130 "type": "Identifier", 4131 "name": "i", 4132 "typeAnnotation": { 4133 "type": "TSTypeReference", 4134 "typeName": { 4135 "type": "Identifier", 4136 "name": "interface5", 4137 "decorators": [], 4138 "loc": { 4139 "start": { 4140 "line": 73, 4141 "column": 8, 4142 "program": "varRedeclaration.ts" 4143 }, 4144 "end": { 4145 "line": 73, 4146 "column": 18, 4147 "program": "varRedeclaration.ts" 4148 } 4149 } 4150 }, 4151 "loc": { 4152 "start": { 4153 "line": 73, 4154 "column": 8, 4155 "program": "varRedeclaration.ts" 4156 }, 4157 "end": { 4158 "line": 73, 4159 "column": 18, 4160 "program": "varRedeclaration.ts" 4161 } 4162 } 4163 }, 4164 "decorators": [], 4165 "loc": { 4166 "start": { 4167 "line": 73, 4168 "column": 5, 4169 "program": "varRedeclaration.ts" 4170 }, 4171 "end": { 4172 "line": 73, 4173 "column": 6, 4174 "program": "varRedeclaration.ts" 4175 } 4176 } 4177 }, 4178 "init": null, 4179 "loc": { 4180 "start": { 4181 "line": 73, 4182 "column": 5, 4183 "program": "varRedeclaration.ts" 4184 }, 4185 "end": { 4186 "line": 73, 4187 "column": 6, 4188 "program": "varRedeclaration.ts" 4189 } 4190 } 4191 } 4192 ], 4193 "kind": "var", 4194 "loc": { 4195 "start": { 4196 "line": 73, 4197 "column": 1, 4198 "program": "varRedeclaration.ts" 4199 }, 4200 "end": { 4201 "line": 73, 4202 "column": 19, 4203 "program": "varRedeclaration.ts" 4204 } 4205 } 4206 }, 4207 { 4208 "type": "VariableDeclaration", 4209 "declarations": [ 4210 { 4211 "type": "VariableDeclarator", 4212 "id": { 4213 "type": "Identifier", 4214 "name": "i", 4215 "typeAnnotation": { 4216 "type": "TSTypeReference", 4217 "typeName": { 4218 "type": "Identifier", 4219 "name": "interface6", 4220 "decorators": [], 4221 "loc": { 4222 "start": { 4223 "line": 74, 4224 "column": 8, 4225 "program": "varRedeclaration.ts" 4226 }, 4227 "end": { 4228 "line": 74, 4229 "column": 18, 4230 "program": "varRedeclaration.ts" 4231 } 4232 } 4233 }, 4234 "loc": { 4235 "start": { 4236 "line": 74, 4237 "column": 8, 4238 "program": "varRedeclaration.ts" 4239 }, 4240 "end": { 4241 "line": 74, 4242 "column": 18, 4243 "program": "varRedeclaration.ts" 4244 } 4245 } 4246 }, 4247 "decorators": [], 4248 "loc": { 4249 "start": { 4250 "line": 74, 4251 "column": 5, 4252 "program": "varRedeclaration.ts" 4253 }, 4254 "end": { 4255 "line": 74, 4256 "column": 6, 4257 "program": "varRedeclaration.ts" 4258 } 4259 } 4260 }, 4261 "init": null, 4262 "loc": { 4263 "start": { 4264 "line": 74, 4265 "column": 5, 4266 "program": "varRedeclaration.ts" 4267 }, 4268 "end": { 4269 "line": 74, 4270 "column": 6, 4271 "program": "varRedeclaration.ts" 4272 } 4273 } 4274 } 4275 ], 4276 "kind": "var", 4277 "loc": { 4278 "start": { 4279 "line": 74, 4280 "column": 1, 4281 "program": "varRedeclaration.ts" 4282 }, 4283 "end": { 4284 "line": 74, 4285 "column": 19, 4286 "program": "varRedeclaration.ts" 4287 } 4288 } 4289 }, 4290 { 4291 "type": "VariableDeclaration", 4292 "declarations": [ 4293 { 4294 "type": "VariableDeclarator", 4295 "id": { 4296 "type": "Identifier", 4297 "name": "j", 4298 "decorators": [], 4299 "loc": { 4300 "start": { 4301 "line": 76, 4302 "column": 5, 4303 "program": "varRedeclaration.ts" 4304 }, 4305 "end": { 4306 "line": 76, 4307 "column": 6, 4308 "program": "varRedeclaration.ts" 4309 } 4310 } 4311 }, 4312 "init": { 4313 "type": "FunctionExpression", 4314 "function": { 4315 "type": "ScriptFunction", 4316 "id": null, 4317 "generator": false, 4318 "async": false, 4319 "expression": false, 4320 "params": [ 4321 { 4322 "type": "Identifier", 4323 "name": "a", 4324 "typeAnnotation": { 4325 "type": "TSTypeReference", 4326 "typeName": { 4327 "type": "Identifier", 4328 "name": "interface6", 4329 "decorators": [], 4330 "loc": { 4331 "start": { 4332 "line": 76, 4333 "column": 22, 4334 "program": "varRedeclaration.ts" 4335 }, 4336 "end": { 4337 "line": 76, 4338 "column": 32, 4339 "program": "varRedeclaration.ts" 4340 } 4341 } 4342 }, 4343 "loc": { 4344 "start": { 4345 "line": 76, 4346 "column": 22, 4347 "program": "varRedeclaration.ts" 4348 }, 4349 "end": { 4350 "line": 76, 4351 "column": 32, 4352 "program": "varRedeclaration.ts" 4353 } 4354 } 4355 }, 4356 "decorators": [], 4357 "loc": { 4358 "start": { 4359 "line": 76, 4360 "column": 19, 4361 "program": "varRedeclaration.ts" 4362 }, 4363 "end": { 4364 "line": 76, 4365 "column": 20, 4366 "program": "varRedeclaration.ts" 4367 } 4368 } 4369 }, 4370 { 4371 "type": "Identifier", 4372 "name": "b", 4373 "typeAnnotation": { 4374 "type": "TSArrayType", 4375 "elementType": { 4376 "type": "TSNumberKeyword", 4377 "loc": { 4378 "start": { 4379 "line": 76, 4380 "column": 37, 4381 "program": "varRedeclaration.ts" 4382 }, 4383 "end": { 4384 "line": 76, 4385 "column": 43, 4386 "program": "varRedeclaration.ts" 4387 } 4388 } 4389 }, 4390 "annotations": [], 4391 "loc": { 4392 "start": { 4393 "line": 76, 4394 "column": 37, 4395 "program": "varRedeclaration.ts" 4396 }, 4397 "end": { 4398 "line": 76, 4399 "column": 45, 4400 "program": "varRedeclaration.ts" 4401 } 4402 } 4403 }, 4404 "decorators": [], 4405 "loc": { 4406 "start": { 4407 "line": 76, 4408 "column": 34, 4409 "program": "varRedeclaration.ts" 4410 }, 4411 "end": { 4412 "line": 76, 4413 "column": 35, 4414 "program": "varRedeclaration.ts" 4415 } 4416 } 4417 } 4418 ], 4419 "returnType": { 4420 "type": "TSNumberKeyword", 4421 "loc": { 4422 "start": { 4423 "line": 76, 4424 "column": 48, 4425 "program": "varRedeclaration.ts" 4426 }, 4427 "end": { 4428 "line": 76, 4429 "column": 54, 4430 "program": "varRedeclaration.ts" 4431 } 4432 } 4433 }, 4434 "body": { 4435 "type": "BlockStatement", 4436 "statements": [ 4437 { 4438 "type": "ReturnStatement", 4439 "argument": { 4440 "type": "NumberLiteral", 4441 "value": 123, 4442 "loc": { 4443 "start": { 4444 "line": 77, 4445 "column": 12, 4446 "program": "varRedeclaration.ts" 4447 }, 4448 "end": { 4449 "line": 77, 4450 "column": 15, 4451 "program": "varRedeclaration.ts" 4452 } 4453 } 4454 }, 4455 "loc": { 4456 "start": { 4457 "line": 77, 4458 "column": 5, 4459 "program": "varRedeclaration.ts" 4460 }, 4461 "end": { 4462 "line": 77, 4463 "column": 16, 4464 "program": "varRedeclaration.ts" 4465 } 4466 } 4467 } 4468 ], 4469 "loc": { 4470 "start": { 4471 "line": 76, 4472 "column": 55, 4473 "program": "varRedeclaration.ts" 4474 }, 4475 "end": { 4476 "line": 78, 4477 "column": 2, 4478 "program": "varRedeclaration.ts" 4479 } 4480 } 4481 }, 4482 "loc": { 4483 "start": { 4484 "line": 76, 4485 "column": 9, 4486 "program": "varRedeclaration.ts" 4487 }, 4488 "end": { 4489 "line": 78, 4490 "column": 2, 4491 "program": "varRedeclaration.ts" 4492 } 4493 } 4494 }, 4495 "loc": { 4496 "start": { 4497 "line": 76, 4498 "column": 9, 4499 "program": "varRedeclaration.ts" 4500 }, 4501 "end": { 4502 "line": 78, 4503 "column": 2, 4504 "program": "varRedeclaration.ts" 4505 } 4506 } 4507 }, 4508 "loc": { 4509 "start": { 4510 "line": 76, 4511 "column": 5, 4512 "program": "varRedeclaration.ts" 4513 }, 4514 "end": { 4515 "line": 78, 4516 "column": 2, 4517 "program": "varRedeclaration.ts" 4518 } 4519 } 4520 } 4521 ], 4522 "kind": "var", 4523 "loc": { 4524 "start": { 4525 "line": 76, 4526 "column": 1, 4527 "program": "varRedeclaration.ts" 4528 }, 4529 "end": { 4530 "line": 78, 4531 "column": 2, 4532 "program": "varRedeclaration.ts" 4533 } 4534 } 4535 }, 4536 { 4537 "type": "VariableDeclaration", 4538 "declarations": [ 4539 { 4540 "type": "VariableDeclarator", 4541 "id": { 4542 "type": "Identifier", 4543 "name": "j", 4544 "typeAnnotation": { 4545 "type": "TSFunctionType", 4546 "params": [ 4547 { 4548 "type": "Identifier", 4549 "name": "a", 4550 "typeAnnotation": { 4551 "type": "TSTypeReference", 4552 "typeName": { 4553 "type": "Identifier", 4554 "name": "interface6", 4555 "decorators": [], 4556 "loc": { 4557 "start": { 4558 "line": 79, 4559 "column": 12, 4560 "program": "varRedeclaration.ts" 4561 }, 4562 "end": { 4563 "line": 79, 4564 "column": 22, 4565 "program": "varRedeclaration.ts" 4566 } 4567 } 4568 }, 4569 "loc": { 4570 "start": { 4571 "line": 79, 4572 "column": 12, 4573 "program": "varRedeclaration.ts" 4574 }, 4575 "end": { 4576 "line": 79, 4577 "column": 22, 4578 "program": "varRedeclaration.ts" 4579 } 4580 } 4581 }, 4582 "decorators": [], 4583 "loc": { 4584 "start": { 4585 "line": 79, 4586 "column": 9, 4587 "program": "varRedeclaration.ts" 4588 }, 4589 "end": { 4590 "line": 79, 4591 "column": 10, 4592 "program": "varRedeclaration.ts" 4593 } 4594 } 4595 }, 4596 { 4597 "type": "Identifier", 4598 "name": "b", 4599 "typeAnnotation": { 4600 "type": "TSArrayType", 4601 "elementType": { 4602 "type": "TSNumberKeyword", 4603 "loc": { 4604 "start": { 4605 "line": 79, 4606 "column": 27, 4607 "program": "varRedeclaration.ts" 4608 }, 4609 "end": { 4610 "line": 79, 4611 "column": 33, 4612 "program": "varRedeclaration.ts" 4613 } 4614 } 4615 }, 4616 "annotations": [], 4617 "loc": { 4618 "start": { 4619 "line": 79, 4620 "column": 27, 4621 "program": "varRedeclaration.ts" 4622 }, 4623 "end": { 4624 "line": 79, 4625 "column": 35, 4626 "program": "varRedeclaration.ts" 4627 } 4628 } 4629 }, 4630 "decorators": [], 4631 "loc": { 4632 "start": { 4633 "line": 79, 4634 "column": 24, 4635 "program": "varRedeclaration.ts" 4636 }, 4637 "end": { 4638 "line": 79, 4639 "column": 25, 4640 "program": "varRedeclaration.ts" 4641 } 4642 } 4643 } 4644 ], 4645 "returnType": { 4646 "type": "TSNumberKeyword", 4647 "loc": { 4648 "start": { 4649 "line": 79, 4650 "column": 40, 4651 "program": "varRedeclaration.ts" 4652 }, 4653 "end": { 4654 "line": 79, 4655 "column": 46, 4656 "program": "varRedeclaration.ts" 4657 } 4658 } 4659 }, 4660 "loc": { 4661 "start": { 4662 "line": 79, 4663 "column": 8, 4664 "program": "varRedeclaration.ts" 4665 }, 4666 "end": { 4667 "line": 79, 4668 "column": 46, 4669 "program": "varRedeclaration.ts" 4670 } 4671 } 4672 }, 4673 "decorators": [], 4674 "loc": { 4675 "start": { 4676 "line": 79, 4677 "column": 5, 4678 "program": "varRedeclaration.ts" 4679 }, 4680 "end": { 4681 "line": 79, 4682 "column": 6, 4683 "program": "varRedeclaration.ts" 4684 } 4685 } 4686 }, 4687 "init": null, 4688 "loc": { 4689 "start": { 4690 "line": 79, 4691 "column": 5, 4692 "program": "varRedeclaration.ts" 4693 }, 4694 "end": { 4695 "line": 79, 4696 "column": 6, 4697 "program": "varRedeclaration.ts" 4698 } 4699 } 4700 } 4701 ], 4702 "kind": "var", 4703 "loc": { 4704 "start": { 4705 "line": 79, 4706 "column": 1, 4707 "program": "varRedeclaration.ts" 4708 }, 4709 "end": { 4710 "line": 79, 4711 "column": 47, 4712 "program": "varRedeclaration.ts" 4713 } 4714 } 4715 }, 4716 { 4717 "type": "VariableDeclaration", 4718 "declarations": [ 4719 { 4720 "type": "VariableDeclarator", 4721 "id": { 4722 "type": "Identifier", 4723 "name": "obj", 4724 "decorators": [], 4725 "loc": { 4726 "start": { 4727 "line": 81, 4728 "column": 5, 4729 "program": "varRedeclaration.ts" 4730 }, 4731 "end": { 4732 "line": 81, 4733 "column": 8, 4734 "program": "varRedeclaration.ts" 4735 } 4736 } 4737 }, 4738 "init": { 4739 "type": "ObjectExpression", 4740 "properties": [ 4741 { 4742 "type": "Property", 4743 "method": false, 4744 "shorthand": false, 4745 "computed": false, 4746 "key": { 4747 "type": "Identifier", 4748 "name": "a", 4749 "decorators": [], 4750 "loc": { 4751 "start": { 4752 "line": 81, 4753 "column": 13, 4754 "program": "varRedeclaration.ts" 4755 }, 4756 "end": { 4757 "line": 81, 4758 "column": 14, 4759 "program": "varRedeclaration.ts" 4760 } 4761 } 4762 }, 4763 "value": { 4764 "type": "NumberLiteral", 4765 "value": 1, 4766 "loc": { 4767 "start": { 4768 "line": 81, 4769 "column": 16, 4770 "program": "varRedeclaration.ts" 4771 }, 4772 "end": { 4773 "line": 81, 4774 "column": 17, 4775 "program": "varRedeclaration.ts" 4776 } 4777 } 4778 }, 4779 "kind": "init", 4780 "loc": { 4781 "start": { 4782 "line": 81, 4783 "column": 13, 4784 "program": "varRedeclaration.ts" 4785 }, 4786 "end": { 4787 "line": 81, 4788 "column": 17, 4789 "program": "varRedeclaration.ts" 4790 } 4791 } 4792 }, 4793 { 4794 "type": "Property", 4795 "method": false, 4796 "shorthand": false, 4797 "computed": false, 4798 "key": { 4799 "type": "Identifier", 4800 "name": "b", 4801 "decorators": [], 4802 "loc": { 4803 "start": { 4804 "line": 81, 4805 "column": 19, 4806 "program": "varRedeclaration.ts" 4807 }, 4808 "end": { 4809 "line": 81, 4810 "column": 20, 4811 "program": "varRedeclaration.ts" 4812 } 4813 } 4814 }, 4815 "value": { 4816 "type": "NumberLiteral", 4817 "value": 2, 4818 "loc": { 4819 "start": { 4820 "line": 81, 4821 "column": 22, 4822 "program": "varRedeclaration.ts" 4823 }, 4824 "end": { 4825 "line": 81, 4826 "column": 23, 4827 "program": "varRedeclaration.ts" 4828 } 4829 } 4830 }, 4831 "kind": "init", 4832 "loc": { 4833 "start": { 4834 "line": 81, 4835 "column": 19, 4836 "program": "varRedeclaration.ts" 4837 }, 4838 "end": { 4839 "line": 81, 4840 "column": 23, 4841 "program": "varRedeclaration.ts" 4842 } 4843 } 4844 }, 4845 { 4846 "type": "Property", 4847 "method": false, 4848 "shorthand": false, 4849 "computed": false, 4850 "key": { 4851 "type": "Identifier", 4852 "name": "c", 4853 "decorators": [], 4854 "loc": { 4855 "start": { 4856 "line": 81, 4857 "column": 25, 4858 "program": "varRedeclaration.ts" 4859 }, 4860 "end": { 4861 "line": 81, 4862 "column": 26, 4863 "program": "varRedeclaration.ts" 4864 } 4865 } 4866 }, 4867 "value": { 4868 "type": "NumberLiteral", 4869 "value": 3, 4870 "loc": { 4871 "start": { 4872 "line": 81, 4873 "column": 28, 4874 "program": "varRedeclaration.ts" 4875 }, 4876 "end": { 4877 "line": 81, 4878 "column": 29, 4879 "program": "varRedeclaration.ts" 4880 } 4881 } 4882 }, 4883 "kind": "init", 4884 "loc": { 4885 "start": { 4886 "line": 81, 4887 "column": 25, 4888 "program": "varRedeclaration.ts" 4889 }, 4890 "end": { 4891 "line": 81, 4892 "column": 29, 4893 "program": "varRedeclaration.ts" 4894 } 4895 } 4896 } 4897 ], 4898 "loc": { 4899 "start": { 4900 "line": 81, 4901 "column": 11, 4902 "program": "varRedeclaration.ts" 4903 }, 4904 "end": { 4905 "line": 81, 4906 "column": 31, 4907 "program": "varRedeclaration.ts" 4908 } 4909 } 4910 }, 4911 "loc": { 4912 "start": { 4913 "line": 81, 4914 "column": 5, 4915 "program": "varRedeclaration.ts" 4916 }, 4917 "end": { 4918 "line": 81, 4919 "column": 31, 4920 "program": "varRedeclaration.ts" 4921 } 4922 } 4923 } 4924 ], 4925 "kind": "var", 4926 "loc": { 4927 "start": { 4928 "line": 81, 4929 "column": 1, 4930 "program": "varRedeclaration.ts" 4931 }, 4932 "end": { 4933 "line": 81, 4934 "column": 32, 4935 "program": "varRedeclaration.ts" 4936 } 4937 } 4938 }, 4939 { 4940 "type": "VariableDeclaration", 4941 "declarations": [ 4942 { 4943 "type": "VariableDeclarator", 4944 "id": { 4945 "type": "Identifier", 4946 "name": "k", 4947 "decorators": [], 4948 "loc": { 4949 "start": { 4950 "line": 82, 4951 "column": 5, 4952 "program": "varRedeclaration.ts" 4953 }, 4954 "end": { 4955 "line": 82, 4956 "column": 6, 4957 "program": "varRedeclaration.ts" 4958 } 4959 } 4960 }, 4961 "init": { 4962 "type": "ObjectExpression", 4963 "properties": [ 4964 { 4965 "type": "Property", 4966 "method": false, 4967 "shorthand": false, 4968 "computed": false, 4969 "key": { 4970 "type": "Identifier", 4971 "name": "d", 4972 "decorators": [], 4973 "loc": { 4974 "start": { 4975 "line": 82, 4976 "column": 11, 4977 "program": "varRedeclaration.ts" 4978 }, 4979 "end": { 4980 "line": 82, 4981 "column": 12, 4982 "program": "varRedeclaration.ts" 4983 } 4984 } 4985 }, 4986 "value": { 4987 "type": "StringLiteral", 4988 "value": "foo", 4989 "loc": { 4990 "start": { 4991 "line": 82, 4992 "column": 14, 4993 "program": "varRedeclaration.ts" 4994 }, 4995 "end": { 4996 "line": 82, 4997 "column": 19, 4998 "program": "varRedeclaration.ts" 4999 } 5000 } 5001 }, 5002 "kind": "init", 5003 "loc": { 5004 "start": { 5005 "line": 82, 5006 "column": 11, 5007 "program": "varRedeclaration.ts" 5008 }, 5009 "end": { 5010 "line": 82, 5011 "column": 19, 5012 "program": "varRedeclaration.ts" 5013 } 5014 } 5015 }, 5016 { 5017 "type": "Property", 5018 "method": false, 5019 "shorthand": false, 5020 "computed": false, 5021 "key": { 5022 "type": "Identifier", 5023 "name": "e", 5024 "decorators": [], 5025 "loc": { 5026 "start": { 5027 "line": 82, 5028 "column": 21, 5029 "program": "varRedeclaration.ts" 5030 }, 5031 "end": { 5032 "line": 82, 5033 "column": 22, 5034 "program": "varRedeclaration.ts" 5035 } 5036 } 5037 }, 5038 "value": { 5039 "type": "StringLiteral", 5040 "value": "bar", 5041 "loc": { 5042 "start": { 5043 "line": 82, 5044 "column": 24, 5045 "program": "varRedeclaration.ts" 5046 }, 5047 "end": { 5048 "line": 82, 5049 "column": 29, 5050 "program": "varRedeclaration.ts" 5051 } 5052 } 5053 }, 5054 "kind": "init", 5055 "loc": { 5056 "start": { 5057 "line": 82, 5058 "column": 21, 5059 "program": "varRedeclaration.ts" 5060 }, 5061 "end": { 5062 "line": 82, 5063 "column": 29, 5064 "program": "varRedeclaration.ts" 5065 } 5066 } 5067 }, 5068 { 5069 "type": "SpreadElement", 5070 "argument": { 5071 "type": "Identifier", 5072 "name": "obj", 5073 "decorators": [], 5074 "loc": { 5075 "start": { 5076 "line": 82, 5077 "column": 34, 5078 "program": "varRedeclaration.ts" 5079 }, 5080 "end": { 5081 "line": 82, 5082 "column": 37, 5083 "program": "varRedeclaration.ts" 5084 } 5085 } 5086 }, 5087 "loc": { 5088 "start": { 5089 "line": 82, 5090 "column": 31, 5091 "program": "varRedeclaration.ts" 5092 }, 5093 "end": { 5094 "line": 82, 5095 "column": 37, 5096 "program": "varRedeclaration.ts" 5097 } 5098 } 5099 } 5100 ], 5101 "loc": { 5102 "start": { 5103 "line": 82, 5104 "column": 9, 5105 "program": "varRedeclaration.ts" 5106 }, 5107 "end": { 5108 "line": 82, 5109 "column": 39, 5110 "program": "varRedeclaration.ts" 5111 } 5112 } 5113 }, 5114 "loc": { 5115 "start": { 5116 "line": 82, 5117 "column": 5, 5118 "program": "varRedeclaration.ts" 5119 }, 5120 "end": { 5121 "line": 82, 5122 "column": 39, 5123 "program": "varRedeclaration.ts" 5124 } 5125 } 5126 } 5127 ], 5128 "kind": "var", 5129 "loc": { 5130 "start": { 5131 "line": 82, 5132 "column": 1, 5133 "program": "varRedeclaration.ts" 5134 }, 5135 "end": { 5136 "line": 82, 5137 "column": 40, 5138 "program": "varRedeclaration.ts" 5139 } 5140 } 5141 }, 5142 { 5143 "type": "VariableDeclaration", 5144 "declarations": [ 5145 { 5146 "type": "VariableDeclarator", 5147 "id": { 5148 "type": "Identifier", 5149 "name": "k", 5150 "typeAnnotation": { 5151 "type": "TSTypeLiteral", 5152 "members": [ 5153 { 5154 "type": "TSPropertySignature", 5155 "computed": false, 5156 "optional": false, 5157 "readonly": false, 5158 "key": { 5159 "type": "Identifier", 5160 "name": "a", 5161 "decorators": [], 5162 "loc": { 5163 "start": { 5164 "line": 83, 5165 "column": 10, 5166 "program": "varRedeclaration.ts" 5167 }, 5168 "end": { 5169 "line": 83, 5170 "column": 11, 5171 "program": "varRedeclaration.ts" 5172 } 5173 } 5174 }, 5175 "typeAnnotation": { 5176 "type": "TSNumberKeyword", 5177 "loc": { 5178 "start": { 5179 "line": 83, 5180 "column": 13, 5181 "program": "varRedeclaration.ts" 5182 }, 5183 "end": { 5184 "line": 83, 5185 "column": 19, 5186 "program": "varRedeclaration.ts" 5187 } 5188 } 5189 }, 5190 "loc": { 5191 "start": { 5192 "line": 83, 5193 "column": 10, 5194 "program": "varRedeclaration.ts" 5195 }, 5196 "end": { 5197 "line": 83, 5198 "column": 20, 5199 "program": "varRedeclaration.ts" 5200 } 5201 } 5202 }, 5203 { 5204 "type": "TSPropertySignature", 5205 "computed": false, 5206 "optional": false, 5207 "readonly": false, 5208 "key": { 5209 "type": "Identifier", 5210 "name": "b", 5211 "decorators": [], 5212 "loc": { 5213 "start": { 5214 "line": 83, 5215 "column": 21, 5216 "program": "varRedeclaration.ts" 5217 }, 5218 "end": { 5219 "line": 83, 5220 "column": 22, 5221 "program": "varRedeclaration.ts" 5222 } 5223 } 5224 }, 5225 "typeAnnotation": { 5226 "type": "TSNumberKeyword", 5227 "loc": { 5228 "start": { 5229 "line": 83, 5230 "column": 24, 5231 "program": "varRedeclaration.ts" 5232 }, 5233 "end": { 5234 "line": 83, 5235 "column": 30, 5236 "program": "varRedeclaration.ts" 5237 } 5238 } 5239 }, 5240 "loc": { 5241 "start": { 5242 "line": 83, 5243 "column": 21, 5244 "program": "varRedeclaration.ts" 5245 }, 5246 "end": { 5247 "line": 83, 5248 "column": 31, 5249 "program": "varRedeclaration.ts" 5250 } 5251 } 5252 }, 5253 { 5254 "type": "TSPropertySignature", 5255 "computed": false, 5256 "optional": false, 5257 "readonly": false, 5258 "key": { 5259 "type": "Identifier", 5260 "name": "c", 5261 "decorators": [], 5262 "loc": { 5263 "start": { 5264 "line": 83, 5265 "column": 32, 5266 "program": "varRedeclaration.ts" 5267 }, 5268 "end": { 5269 "line": 83, 5270 "column": 33, 5271 "program": "varRedeclaration.ts" 5272 } 5273 } 5274 }, 5275 "typeAnnotation": { 5276 "type": "TSNumberKeyword", 5277 "loc": { 5278 "start": { 5279 "line": 83, 5280 "column": 35, 5281 "program": "varRedeclaration.ts" 5282 }, 5283 "end": { 5284 "line": 83, 5285 "column": 41, 5286 "program": "varRedeclaration.ts" 5287 } 5288 } 5289 }, 5290 "loc": { 5291 "start": { 5292 "line": 83, 5293 "column": 32, 5294 "program": "varRedeclaration.ts" 5295 }, 5296 "end": { 5297 "line": 83, 5298 "column": 42, 5299 "program": "varRedeclaration.ts" 5300 } 5301 } 5302 }, 5303 { 5304 "type": "TSPropertySignature", 5305 "computed": false, 5306 "optional": false, 5307 "readonly": false, 5308 "key": { 5309 "type": "Identifier", 5310 "name": "d", 5311 "decorators": [], 5312 "loc": { 5313 "start": { 5314 "line": 83, 5315 "column": 43, 5316 "program": "varRedeclaration.ts" 5317 }, 5318 "end": { 5319 "line": 83, 5320 "column": 44, 5321 "program": "varRedeclaration.ts" 5322 } 5323 } 5324 }, 5325 "typeAnnotation": { 5326 "type": "TSStringKeyword", 5327 "loc": { 5328 "start": { 5329 "line": 83, 5330 "column": 46, 5331 "program": "varRedeclaration.ts" 5332 }, 5333 "end": { 5334 "line": 83, 5335 "column": 52, 5336 "program": "varRedeclaration.ts" 5337 } 5338 } 5339 }, 5340 "loc": { 5341 "start": { 5342 "line": 83, 5343 "column": 43, 5344 "program": "varRedeclaration.ts" 5345 }, 5346 "end": { 5347 "line": 83, 5348 "column": 53, 5349 "program": "varRedeclaration.ts" 5350 } 5351 } 5352 }, 5353 { 5354 "type": "TSPropertySignature", 5355 "computed": false, 5356 "optional": false, 5357 "readonly": false, 5358 "key": { 5359 "type": "Identifier", 5360 "name": "e", 5361 "decorators": [], 5362 "loc": { 5363 "start": { 5364 "line": 83, 5365 "column": 54, 5366 "program": "varRedeclaration.ts" 5367 }, 5368 "end": { 5369 "line": 83, 5370 "column": 55, 5371 "program": "varRedeclaration.ts" 5372 } 5373 } 5374 }, 5375 "typeAnnotation": { 5376 "type": "TSStringKeyword", 5377 "loc": { 5378 "start": { 5379 "line": 83, 5380 "column": 57, 5381 "program": "varRedeclaration.ts" 5382 }, 5383 "end": { 5384 "line": 83, 5385 "column": 63, 5386 "program": "varRedeclaration.ts" 5387 } 5388 } 5389 }, 5390 "loc": { 5391 "start": { 5392 "line": 83, 5393 "column": 54, 5394 "program": "varRedeclaration.ts" 5395 }, 5396 "end": { 5397 "line": 83, 5398 "column": 65, 5399 "program": "varRedeclaration.ts" 5400 } 5401 } 5402 } 5403 ], 5404 "loc": { 5405 "start": { 5406 "line": 83, 5407 "column": 8, 5408 "program": "varRedeclaration.ts" 5409 }, 5410 "end": { 5411 "line": 83, 5412 "column": 65, 5413 "program": "varRedeclaration.ts" 5414 } 5415 } 5416 }, 5417 "decorators": [], 5418 "loc": { 5419 "start": { 5420 "line": 83, 5421 "column": 5, 5422 "program": "varRedeclaration.ts" 5423 }, 5424 "end": { 5425 "line": 83, 5426 "column": 6, 5427 "program": "varRedeclaration.ts" 5428 } 5429 } 5430 }, 5431 "init": null, 5432 "loc": { 5433 "start": { 5434 "line": 83, 5435 "column": 5, 5436 "program": "varRedeclaration.ts" 5437 }, 5438 "end": { 5439 "line": 83, 5440 "column": 6, 5441 "program": "varRedeclaration.ts" 5442 } 5443 } 5444 } 5445 ], 5446 "kind": "var", 5447 "loc": { 5448 "start": { 5449 "line": 83, 5450 "column": 1, 5451 "program": "varRedeclaration.ts" 5452 }, 5453 "end": { 5454 "line": 83, 5455 "column": 66, 5456 "program": "varRedeclaration.ts" 5457 } 5458 } 5459 }, 5460 { 5461 "type": "FunctionDeclaration", 5462 "function": { 5463 "type": "ScriptFunction", 5464 "id": { 5465 "type": "Identifier", 5466 "name": "func1", 5467 "decorators": [], 5468 "loc": { 5469 "start": { 5470 "line": 85, 5471 "column": 10, 5472 "program": "varRedeclaration.ts" 5473 }, 5474 "end": { 5475 "line": 85, 5476 "column": 15, 5477 "program": "varRedeclaration.ts" 5478 } 5479 } 5480 }, 5481 "generator": false, 5482 "async": false, 5483 "expression": false, 5484 "params": [ 5485 { 5486 "type": "Identifier", 5487 "name": "a", 5488 "typeAnnotation": { 5489 "type": "TSNumberKeyword", 5490 "loc": { 5491 "start": { 5492 "line": 85, 5493 "column": 19, 5494 "program": "varRedeclaration.ts" 5495 }, 5496 "end": { 5497 "line": 85, 5498 "column": 25, 5499 "program": "varRedeclaration.ts" 5500 } 5501 } 5502 }, 5503 "decorators": [], 5504 "loc": { 5505 "start": { 5506 "line": 85, 5507 "column": 16, 5508 "program": "varRedeclaration.ts" 5509 }, 5510 "end": { 5511 "line": 85, 5512 "column": 17, 5513 "program": "varRedeclaration.ts" 5514 } 5515 } 5516 }, 5517 { 5518 "type": "Identifier", 5519 "name": "b", 5520 "typeAnnotation": { 5521 "type": "TSStringKeyword", 5522 "loc": { 5523 "start": { 5524 "line": 85, 5525 "column": 30, 5526 "program": "varRedeclaration.ts" 5527 }, 5528 "end": { 5529 "line": 85, 5530 "column": 36, 5531 "program": "varRedeclaration.ts" 5532 } 5533 } 5534 }, 5535 "decorators": [], 5536 "loc": { 5537 "start": { 5538 "line": 85, 5539 "column": 27, 5540 "program": "varRedeclaration.ts" 5541 }, 5542 "end": { 5543 "line": 85, 5544 "column": 28, 5545 "program": "varRedeclaration.ts" 5546 } 5547 } 5548 } 5549 ], 5550 "returnType": { 5551 "type": "TSLiteralType", 5552 "literal": { 5553 "type": "StringLiteral", 5554 "value": "foo", 5555 "loc": { 5556 "start": { 5557 "line": 85, 5558 "column": 39, 5559 "program": "varRedeclaration.ts" 5560 }, 5561 "end": { 5562 "line": 85, 5563 "column": 44, 5564 "program": "varRedeclaration.ts" 5565 } 5566 } 5567 }, 5568 "loc": { 5569 "start": { 5570 "line": 85, 5571 "column": 39, 5572 "program": "varRedeclaration.ts" 5573 }, 5574 "end": { 5575 "line": 85, 5576 "column": 44, 5577 "program": "varRedeclaration.ts" 5578 } 5579 } 5580 }, 5581 "body": { 5582 "type": "BlockStatement", 5583 "statements": [ 5584 { 5585 "type": "ReturnStatement", 5586 "argument": { 5587 "type": "StringLiteral", 5588 "value": "foo", 5589 "loc": { 5590 "start": { 5591 "line": 86, 5592 "column": 12, 5593 "program": "varRedeclaration.ts" 5594 }, 5595 "end": { 5596 "line": 86, 5597 "column": 17, 5598 "program": "varRedeclaration.ts" 5599 } 5600 } 5601 }, 5602 "loc": { 5603 "start": { 5604 "line": 86, 5605 "column": 5, 5606 "program": "varRedeclaration.ts" 5607 }, 5608 "end": { 5609 "line": 86, 5610 "column": 18, 5611 "program": "varRedeclaration.ts" 5612 } 5613 } 5614 } 5615 ], 5616 "loc": { 5617 "start": { 5618 "line": 85, 5619 "column": 45, 5620 "program": "varRedeclaration.ts" 5621 }, 5622 "end": { 5623 "line": 87, 5624 "column": 2, 5625 "program": "varRedeclaration.ts" 5626 } 5627 } 5628 }, 5629 "loc": { 5630 "start": { 5631 "line": 85, 5632 "column": 1, 5633 "program": "varRedeclaration.ts" 5634 }, 5635 "end": { 5636 "line": 87, 5637 "column": 2, 5638 "program": "varRedeclaration.ts" 5639 } 5640 } 5641 }, 5642 "loc": { 5643 "start": { 5644 "line": 85, 5645 "column": 1, 5646 "program": "varRedeclaration.ts" 5647 }, 5648 "end": { 5649 "line": 87, 5650 "column": 2, 5651 "program": "varRedeclaration.ts" 5652 } 5653 } 5654 }, 5655 { 5656 "type": "FunctionDeclaration", 5657 "function": { 5658 "type": "ScriptFunction", 5659 "id": { 5660 "type": "Identifier", 5661 "name": "func2", 5662 "decorators": [], 5663 "loc": { 5664 "start": { 5665 "line": 88, 5666 "column": 10, 5667 "program": "varRedeclaration.ts" 5668 }, 5669 "end": { 5670 "line": 88, 5671 "column": 15, 5672 "program": "varRedeclaration.ts" 5673 } 5674 } 5675 }, 5676 "generator": false, 5677 "async": false, 5678 "expression": false, 5679 "params": [ 5680 { 5681 "type": "Identifier", 5682 "name": "a", 5683 "typeAnnotation": { 5684 "type": "TSStringKeyword", 5685 "loc": { 5686 "start": { 5687 "line": 88, 5688 "column": 19, 5689 "program": "varRedeclaration.ts" 5690 }, 5691 "end": { 5692 "line": 88, 5693 "column": 25, 5694 "program": "varRedeclaration.ts" 5695 } 5696 } 5697 }, 5698 "decorators": [], 5699 "loc": { 5700 "start": { 5701 "line": 88, 5702 "column": 16, 5703 "program": "varRedeclaration.ts" 5704 }, 5705 "end": { 5706 "line": 88, 5707 "column": 17, 5708 "program": "varRedeclaration.ts" 5709 } 5710 } 5711 }, 5712 { 5713 "type": "Identifier", 5714 "name": "b", 5715 "typeAnnotation": { 5716 "type": "TSNumberKeyword", 5717 "loc": { 5718 "start": { 5719 "line": 88, 5720 "column": 30, 5721 "program": "varRedeclaration.ts" 5722 }, 5723 "end": { 5724 "line": 88, 5725 "column": 36, 5726 "program": "varRedeclaration.ts" 5727 } 5728 } 5729 }, 5730 "decorators": [], 5731 "loc": { 5732 "start": { 5733 "line": 88, 5734 "column": 27, 5735 "program": "varRedeclaration.ts" 5736 }, 5737 "end": { 5738 "line": 88, 5739 "column": 28, 5740 "program": "varRedeclaration.ts" 5741 } 5742 } 5743 } 5744 ], 5745 "returnType": { 5746 "type": "TSLiteralType", 5747 "literal": { 5748 "type": "BooleanLiteral", 5749 "value": true, 5750 "loc": { 5751 "start": { 5752 "line": 88, 5753 "column": 39, 5754 "program": "varRedeclaration.ts" 5755 }, 5756 "end": { 5757 "line": 88, 5758 "column": 43, 5759 "program": "varRedeclaration.ts" 5760 } 5761 } 5762 }, 5763 "loc": { 5764 "start": { 5765 "line": 88, 5766 "column": 39, 5767 "program": "varRedeclaration.ts" 5768 }, 5769 "end": { 5770 "line": 88, 5771 "column": 43, 5772 "program": "varRedeclaration.ts" 5773 } 5774 } 5775 }, 5776 "body": { 5777 "type": "BlockStatement", 5778 "statements": [ 5779 { 5780 "type": "ReturnStatement", 5781 "argument": { 5782 "type": "BooleanLiteral", 5783 "value": true, 5784 "loc": { 5785 "start": { 5786 "line": 89, 5787 "column": 12, 5788 "program": "varRedeclaration.ts" 5789 }, 5790 "end": { 5791 "line": 89, 5792 "column": 16, 5793 "program": "varRedeclaration.ts" 5794 } 5795 } 5796 }, 5797 "loc": { 5798 "start": { 5799 "line": 89, 5800 "column": 5, 5801 "program": "varRedeclaration.ts" 5802 }, 5803 "end": { 5804 "line": 89, 5805 "column": 17, 5806 "program": "varRedeclaration.ts" 5807 } 5808 } 5809 } 5810 ], 5811 "loc": { 5812 "start": { 5813 "line": 88, 5814 "column": 44, 5815 "program": "varRedeclaration.ts" 5816 }, 5817 "end": { 5818 "line": 90, 5819 "column": 2, 5820 "program": "varRedeclaration.ts" 5821 } 5822 } 5823 }, 5824 "loc": { 5825 "start": { 5826 "line": 88, 5827 "column": 1, 5828 "program": "varRedeclaration.ts" 5829 }, 5830 "end": { 5831 "line": 90, 5832 "column": 2, 5833 "program": "varRedeclaration.ts" 5834 } 5835 } 5836 }, 5837 "loc": { 5838 "start": { 5839 "line": 88, 5840 "column": 1, 5841 "program": "varRedeclaration.ts" 5842 }, 5843 "end": { 5844 "line": 90, 5845 "column": 2, 5846 "program": "varRedeclaration.ts" 5847 } 5848 } 5849 }, 5850 { 5851 "type": "VariableDeclaration", 5852 "declarations": [ 5853 { 5854 "type": "VariableDeclarator", 5855 "id": { 5856 "type": "Identifier", 5857 "name": "l", 5858 "typeAnnotation": { 5859 "type": "TSUnionType", 5860 "types": [ 5861 { 5862 "type": "TSTypeQuery", 5863 "exprName": { 5864 "type": "Identifier", 5865 "name": "func1", 5866 "decorators": [], 5867 "loc": { 5868 "start": { 5869 "line": 91, 5870 "column": 15, 5871 "program": "varRedeclaration.ts" 5872 }, 5873 "end": { 5874 "line": 91, 5875 "column": 20, 5876 "program": "varRedeclaration.ts" 5877 } 5878 } 5879 }, 5880 "loc": { 5881 "start": { 5882 "line": 91, 5883 "column": 8, 5884 "program": "varRedeclaration.ts" 5885 }, 5886 "end": { 5887 "line": 91, 5888 "column": 20, 5889 "program": "varRedeclaration.ts" 5890 } 5891 } 5892 }, 5893 { 5894 "type": "TSTypeQuery", 5895 "exprName": { 5896 "type": "Identifier", 5897 "name": "func2", 5898 "decorators": [], 5899 "loc": { 5900 "start": { 5901 "line": 91, 5902 "column": 30, 5903 "program": "varRedeclaration.ts" 5904 }, 5905 "end": { 5906 "line": 91, 5907 "column": 35, 5908 "program": "varRedeclaration.ts" 5909 } 5910 } 5911 }, 5912 "loc": { 5913 "start": { 5914 "line": 91, 5915 "column": 23, 5916 "program": "varRedeclaration.ts" 5917 }, 5918 "end": { 5919 "line": 91, 5920 "column": 35, 5921 "program": "varRedeclaration.ts" 5922 } 5923 } 5924 } 5925 ], 5926 "loc": { 5927 "start": { 5928 "line": 91, 5929 "column": 8, 5930 "program": "varRedeclaration.ts" 5931 }, 5932 "end": { 5933 "line": 91, 5934 "column": 35, 5935 "program": "varRedeclaration.ts" 5936 } 5937 } 5938 }, 5939 "decorators": [], 5940 "loc": { 5941 "start": { 5942 "line": 91, 5943 "column": 5, 5944 "program": "varRedeclaration.ts" 5945 }, 5946 "end": { 5947 "line": 91, 5948 "column": 6, 5949 "program": "varRedeclaration.ts" 5950 } 5951 } 5952 }, 5953 "init": null, 5954 "loc": { 5955 "start": { 5956 "line": 91, 5957 "column": 5, 5958 "program": "varRedeclaration.ts" 5959 }, 5960 "end": { 5961 "line": 91, 5962 "column": 6, 5963 "program": "varRedeclaration.ts" 5964 } 5965 } 5966 } 5967 ], 5968 "kind": "var", 5969 "loc": { 5970 "start": { 5971 "line": 91, 5972 "column": 1, 5973 "program": "varRedeclaration.ts" 5974 }, 5975 "end": { 5976 "line": 91, 5977 "column": 36, 5978 "program": "varRedeclaration.ts" 5979 } 5980 } 5981 }, 5982 { 5983 "type": "VariableDeclaration", 5984 "declarations": [ 5985 { 5986 "type": "VariableDeclarator", 5987 "id": { 5988 "type": "Identifier", 5989 "name": "l", 5990 "typeAnnotation": { 5991 "type": "TSUnionType", 5992 "types": [ 5993 { 5994 "type": "TSParenthesizedType", 5995 "typeAnnotation": { 5996 "type": "TSFunctionType", 5997 "params": [ 5998 { 5999 "type": "Identifier", 6000 "name": "a", 6001 "typeAnnotation": { 6002 "type": "TSNumberKeyword", 6003 "loc": { 6004 "start": { 6005 "line": 92, 6006 "column": 13, 6007 "program": "varRedeclaration.ts" 6008 }, 6009 "end": { 6010 "line": 92, 6011 "column": 19, 6012 "program": "varRedeclaration.ts" 6013 } 6014 } 6015 }, 6016 "decorators": [], 6017 "loc": { 6018 "start": { 6019 "line": 92, 6020 "column": 10, 6021 "program": "varRedeclaration.ts" 6022 }, 6023 "end": { 6024 "line": 92, 6025 "column": 11, 6026 "program": "varRedeclaration.ts" 6027 } 6028 } 6029 }, 6030 { 6031 "type": "Identifier", 6032 "name": "b", 6033 "typeAnnotation": { 6034 "type": "TSStringKeyword", 6035 "loc": { 6036 "start": { 6037 "line": 92, 6038 "column": 24, 6039 "program": "varRedeclaration.ts" 6040 }, 6041 "end": { 6042 "line": 92, 6043 "column": 30, 6044 "program": "varRedeclaration.ts" 6045 } 6046 } 6047 }, 6048 "decorators": [], 6049 "loc": { 6050 "start": { 6051 "line": 92, 6052 "column": 21, 6053 "program": "varRedeclaration.ts" 6054 }, 6055 "end": { 6056 "line": 92, 6057 "column": 22, 6058 "program": "varRedeclaration.ts" 6059 } 6060 } 6061 } 6062 ], 6063 "returnType": { 6064 "type": "TSLiteralType", 6065 "literal": { 6066 "type": "StringLiteral", 6067 "value": "foo", 6068 "loc": { 6069 "start": { 6070 "line": 92, 6071 "column": 35, 6072 "program": "varRedeclaration.ts" 6073 }, 6074 "end": { 6075 "line": 92, 6076 "column": 40, 6077 "program": "varRedeclaration.ts" 6078 } 6079 } 6080 }, 6081 "loc": { 6082 "start": { 6083 "line": 92, 6084 "column": 35, 6085 "program": "varRedeclaration.ts" 6086 }, 6087 "end": { 6088 "line": 92, 6089 "column": 40, 6090 "program": "varRedeclaration.ts" 6091 } 6092 } 6093 }, 6094 "loc": { 6095 "start": { 6096 "line": 92, 6097 "column": 9, 6098 "program": "varRedeclaration.ts" 6099 }, 6100 "end": { 6101 "line": 92, 6102 "column": 40, 6103 "program": "varRedeclaration.ts" 6104 } 6105 } 6106 }, 6107 "loc": { 6108 "start": { 6109 "line": 92, 6110 "column": 8, 6111 "program": "varRedeclaration.ts" 6112 }, 6113 "end": { 6114 "line": 92, 6115 "column": 41, 6116 "program": "varRedeclaration.ts" 6117 } 6118 } 6119 }, 6120 { 6121 "type": "TSParenthesizedType", 6122 "typeAnnotation": { 6123 "type": "TSFunctionType", 6124 "params": [ 6125 { 6126 "type": "Identifier", 6127 "name": "a", 6128 "typeAnnotation": { 6129 "type": "TSStringKeyword", 6130 "loc": { 6131 "start": { 6132 "line": 92, 6133 "column": 49, 6134 "program": "varRedeclaration.ts" 6135 }, 6136 "end": { 6137 "line": 92, 6138 "column": 55, 6139 "program": "varRedeclaration.ts" 6140 } 6141 } 6142 }, 6143 "decorators": [], 6144 "loc": { 6145 "start": { 6146 "line": 92, 6147 "column": 46, 6148 "program": "varRedeclaration.ts" 6149 }, 6150 "end": { 6151 "line": 92, 6152 "column": 47, 6153 "program": "varRedeclaration.ts" 6154 } 6155 } 6156 }, 6157 { 6158 "type": "Identifier", 6159 "name": "b", 6160 "typeAnnotation": { 6161 "type": "TSNumberKeyword", 6162 "loc": { 6163 "start": { 6164 "line": 92, 6165 "column": 60, 6166 "program": "varRedeclaration.ts" 6167 }, 6168 "end": { 6169 "line": 92, 6170 "column": 66, 6171 "program": "varRedeclaration.ts" 6172 } 6173 } 6174 }, 6175 "decorators": [], 6176 "loc": { 6177 "start": { 6178 "line": 92, 6179 "column": 57, 6180 "program": "varRedeclaration.ts" 6181 }, 6182 "end": { 6183 "line": 92, 6184 "column": 58, 6185 "program": "varRedeclaration.ts" 6186 } 6187 } 6188 } 6189 ], 6190 "returnType": { 6191 "type": "TSLiteralType", 6192 "literal": { 6193 "type": "BooleanLiteral", 6194 "value": true, 6195 "loc": { 6196 "start": { 6197 "line": 92, 6198 "column": 71, 6199 "program": "varRedeclaration.ts" 6200 }, 6201 "end": { 6202 "line": 92, 6203 "column": 75, 6204 "program": "varRedeclaration.ts" 6205 } 6206 } 6207 }, 6208 "loc": { 6209 "start": { 6210 "line": 92, 6211 "column": 71, 6212 "program": "varRedeclaration.ts" 6213 }, 6214 "end": { 6215 "line": 92, 6216 "column": 75, 6217 "program": "varRedeclaration.ts" 6218 } 6219 } 6220 }, 6221 "loc": { 6222 "start": { 6223 "line": 92, 6224 "column": 45, 6225 "program": "varRedeclaration.ts" 6226 }, 6227 "end": { 6228 "line": 92, 6229 "column": 75, 6230 "program": "varRedeclaration.ts" 6231 } 6232 } 6233 }, 6234 "loc": { 6235 "start": { 6236 "line": 92, 6237 "column": 44, 6238 "program": "varRedeclaration.ts" 6239 }, 6240 "end": { 6241 "line": 92, 6242 "column": 76, 6243 "program": "varRedeclaration.ts" 6244 } 6245 } 6246 } 6247 ], 6248 "loc": { 6249 "start": { 6250 "line": 92, 6251 "column": 8, 6252 "program": "varRedeclaration.ts" 6253 }, 6254 "end": { 6255 "line": 92, 6256 "column": 76, 6257 "program": "varRedeclaration.ts" 6258 } 6259 } 6260 }, 6261 "decorators": [], 6262 "loc": { 6263 "start": { 6264 "line": 92, 6265 "column": 5, 6266 "program": "varRedeclaration.ts" 6267 }, 6268 "end": { 6269 "line": 92, 6270 "column": 6, 6271 "program": "varRedeclaration.ts" 6272 } 6273 } 6274 }, 6275 "init": null, 6276 "loc": { 6277 "start": { 6278 "line": 92, 6279 "column": 5, 6280 "program": "varRedeclaration.ts" 6281 }, 6282 "end": { 6283 "line": 92, 6284 "column": 6, 6285 "program": "varRedeclaration.ts" 6286 } 6287 } 6288 } 6289 ], 6290 "kind": "var", 6291 "loc": { 6292 "start": { 6293 "line": 92, 6294 "column": 1, 6295 "program": "varRedeclaration.ts" 6296 }, 6297 "end": { 6298 "line": 92, 6299 "column": 6, 6300 "program": "varRedeclaration.ts" 6301 } 6302 } 6303 }, 6304 { 6305 "type": "VariableDeclaration", 6306 "declarations": [ 6307 { 6308 "type": "VariableDeclarator", 6309 "id": { 6310 "type": "Identifier", 6311 "name": "m", 6312 "typeAnnotation": { 6313 "type": "TSTupleType", 6314 "elementTypes": [ 6315 { 6316 "type": "TSNamedTupleMember", 6317 "elementType": { 6318 "type": "TSNumberKeyword", 6319 "loc": { 6320 "start": { 6321 "line": 94, 6322 "column": 12, 6323 "program": "varRedeclaration.ts" 6324 }, 6325 "end": { 6326 "line": 94, 6327 "column": 18, 6328 "program": "varRedeclaration.ts" 6329 } 6330 } 6331 }, 6332 "label": { 6333 "type": "Identifier", 6334 "name": "a", 6335 "decorators": [], 6336 "loc": { 6337 "start": { 6338 "line": 94, 6339 "column": 9, 6340 "program": "varRedeclaration.ts" 6341 }, 6342 "end": { 6343 "line": 94, 6344 "column": 10, 6345 "program": "varRedeclaration.ts" 6346 } 6347 } 6348 }, 6349 "loc": { 6350 "start": { 6351 "line": 94, 6352 "column": 9, 6353 "program": "varRedeclaration.ts" 6354 }, 6355 "end": { 6356 "line": 94, 6357 "column": 19, 6358 "program": "varRedeclaration.ts" 6359 } 6360 } 6361 }, 6362 { 6363 "type": "TSNamedTupleMember", 6364 "elementType": { 6365 "type": "TSStringKeyword", 6366 "loc": { 6367 "start": { 6368 "line": 94, 6369 "column": 23, 6370 "program": "varRedeclaration.ts" 6371 }, 6372 "end": { 6373 "line": 94, 6374 "column": 29, 6375 "program": "varRedeclaration.ts" 6376 } 6377 } 6378 }, 6379 "label": { 6380 "type": "Identifier", 6381 "name": "b", 6382 "decorators": [], 6383 "loc": { 6384 "start": { 6385 "line": 94, 6386 "column": 20, 6387 "program": "varRedeclaration.ts" 6388 }, 6389 "end": { 6390 "line": 94, 6391 "column": 21, 6392 "program": "varRedeclaration.ts" 6393 } 6394 } 6395 }, 6396 "loc": { 6397 "start": { 6398 "line": 94, 6399 "column": 20, 6400 "program": "varRedeclaration.ts" 6401 }, 6402 "end": { 6403 "line": 94, 6404 "column": 30, 6405 "program": "varRedeclaration.ts" 6406 } 6407 } 6408 }, 6409 { 6410 "type": "TSNamedTupleMember", 6411 "elementType": { 6412 "type": "TSBooleanKeyword", 6413 "loc": { 6414 "start": { 6415 "line": 94, 6416 "column": 34, 6417 "program": "varRedeclaration.ts" 6418 }, 6419 "end": { 6420 "line": 94, 6421 "column": 41, 6422 "program": "varRedeclaration.ts" 6423 } 6424 } 6425 }, 6426 "label": { 6427 "type": "Identifier", 6428 "name": "c", 6429 "decorators": [], 6430 "loc": { 6431 "start": { 6432 "line": 94, 6433 "column": 31, 6434 "program": "varRedeclaration.ts" 6435 }, 6436 "end": { 6437 "line": 94, 6438 "column": 32, 6439 "program": "varRedeclaration.ts" 6440 } 6441 } 6442 }, 6443 "loc": { 6444 "start": { 6445 "line": 94, 6446 "column": 31, 6447 "program": "varRedeclaration.ts" 6448 }, 6449 "end": { 6450 "line": 94, 6451 "column": 42, 6452 "program": "varRedeclaration.ts" 6453 } 6454 } 6455 } 6456 ], 6457 "loc": { 6458 "start": { 6459 "line": 94, 6460 "column": 8, 6461 "program": "varRedeclaration.ts" 6462 }, 6463 "end": { 6464 "line": 94, 6465 "column": 42, 6466 "program": "varRedeclaration.ts" 6467 } 6468 } 6469 }, 6470 "decorators": [], 6471 "loc": { 6472 "start": { 6473 "line": 94, 6474 "column": 5, 6475 "program": "varRedeclaration.ts" 6476 }, 6477 "end": { 6478 "line": 94, 6479 "column": 6, 6480 "program": "varRedeclaration.ts" 6481 } 6482 } 6483 }, 6484 "init": null, 6485 "loc": { 6486 "start": { 6487 "line": 94, 6488 "column": 5, 6489 "program": "varRedeclaration.ts" 6490 }, 6491 "end": { 6492 "line": 94, 6493 "column": 6, 6494 "program": "varRedeclaration.ts" 6495 } 6496 } 6497 } 6498 ], 6499 "kind": "var", 6500 "loc": { 6501 "start": { 6502 "line": 94, 6503 "column": 1, 6504 "program": "varRedeclaration.ts" 6505 }, 6506 "end": { 6507 "line": 94, 6508 "column": 43, 6509 "program": "varRedeclaration.ts" 6510 } 6511 } 6512 }, 6513 { 6514 "type": "VariableDeclaration", 6515 "declarations": [ 6516 { 6517 "type": "VariableDeclarator", 6518 "id": { 6519 "type": "Identifier", 6520 "name": "m", 6521 "typeAnnotation": { 6522 "type": "TSTupleType", 6523 "elementTypes": [ 6524 { 6525 "type": "TSNumberKeyword", 6526 "loc": { 6527 "start": { 6528 "line": 95, 6529 "column": 9, 6530 "program": "varRedeclaration.ts" 6531 }, 6532 "end": { 6533 "line": 95, 6534 "column": 16, 6535 "program": "varRedeclaration.ts" 6536 } 6537 } 6538 }, 6539 { 6540 "type": "TSStringKeyword", 6541 "loc": { 6542 "start": { 6543 "line": 95, 6544 "column": 17, 6545 "program": "varRedeclaration.ts" 6546 }, 6547 "end": { 6548 "line": 95, 6549 "column": 24, 6550 "program": "varRedeclaration.ts" 6551 } 6552 } 6553 }, 6554 { 6555 "type": "TSBooleanKeyword", 6556 "loc": { 6557 "start": { 6558 "line": 95, 6559 "column": 25, 6560 "program": "varRedeclaration.ts" 6561 }, 6562 "end": { 6563 "line": 95, 6564 "column": 33, 6565 "program": "varRedeclaration.ts" 6566 } 6567 } 6568 } 6569 ], 6570 "loc": { 6571 "start": { 6572 "line": 95, 6573 "column": 8, 6574 "program": "varRedeclaration.ts" 6575 }, 6576 "end": { 6577 "line": 95, 6578 "column": 33, 6579 "program": "varRedeclaration.ts" 6580 } 6581 } 6582 }, 6583 "decorators": [], 6584 "loc": { 6585 "start": { 6586 "line": 95, 6587 "column": 5, 6588 "program": "varRedeclaration.ts" 6589 }, 6590 "end": { 6591 "line": 95, 6592 "column": 6, 6593 "program": "varRedeclaration.ts" 6594 } 6595 } 6596 }, 6597 "init": null, 6598 "loc": { 6599 "start": { 6600 "line": 95, 6601 "column": 5, 6602 "program": "varRedeclaration.ts" 6603 }, 6604 "end": { 6605 "line": 95, 6606 "column": 6, 6607 "program": "varRedeclaration.ts" 6608 } 6609 } 6610 } 6611 ], 6612 "kind": "var", 6613 "loc": { 6614 "start": { 6615 "line": 95, 6616 "column": 1, 6617 "program": "varRedeclaration.ts" 6618 }, 6619 "end": { 6620 "line": 95, 6621 "column": 34, 6622 "program": "varRedeclaration.ts" 6623 } 6624 } 6625 }, 6626 { 6627 "type": "VariableDeclaration", 6628 "declarations": [ 6629 { 6630 "type": "VariableDeclarator", 6631 "id": { 6632 "type": "Identifier", 6633 "name": "n", 6634 "typeAnnotation": { 6635 "type": "TSUnionType", 6636 "types": [ 6637 { 6638 "type": "TSArrayType", 6639 "elementType": { 6640 "type": "TSNumberKeyword", 6641 "loc": { 6642 "start": { 6643 "line": 97, 6644 "column": 8, 6645 "program": "varRedeclaration.ts" 6646 }, 6647 "end": { 6648 "line": 97, 6649 "column": 14, 6650 "program": "varRedeclaration.ts" 6651 } 6652 } 6653 }, 6654 "annotations": [], 6655 "loc": { 6656 "start": { 6657 "line": 97, 6658 "column": 8, 6659 "program": "varRedeclaration.ts" 6660 }, 6661 "end": { 6662 "line": 97, 6663 "column": 16, 6664 "program": "varRedeclaration.ts" 6665 } 6666 } 6667 }, 6668 { 6669 "type": "TSTupleType", 6670 "elementTypes": [ 6671 { 6672 "type": "TSLiteralType", 6673 "literal": { 6674 "type": "NumberLiteral", 6675 "value": 1, 6676 "loc": { 6677 "start": { 6678 "line": 97, 6679 "column": 20, 6680 "program": "varRedeclaration.ts" 6681 }, 6682 "end": { 6683 "line": 97, 6684 "column": 21, 6685 "program": "varRedeclaration.ts" 6686 } 6687 } 6688 }, 6689 "loc": { 6690 "start": { 6691 "line": 97, 6692 "column": 20, 6693 "program": "varRedeclaration.ts" 6694 }, 6695 "end": { 6696 "line": 97, 6697 "column": 22, 6698 "program": "varRedeclaration.ts" 6699 } 6700 } 6701 }, 6702 { 6703 "type": "TSLiteralType", 6704 "literal": { 6705 "type": "NumberLiteral", 6706 "value": 2, 6707 "loc": { 6708 "start": { 6709 "line": 97, 6710 "column": 23, 6711 "program": "varRedeclaration.ts" 6712 }, 6713 "end": { 6714 "line": 97, 6715 "column": 24, 6716 "program": "varRedeclaration.ts" 6717 } 6718 } 6719 }, 6720 "loc": { 6721 "start": { 6722 "line": 97, 6723 "column": 23, 6724 "program": "varRedeclaration.ts" 6725 }, 6726 "end": { 6727 "line": 97, 6728 "column": 25, 6729 "program": "varRedeclaration.ts" 6730 } 6731 } 6732 }, 6733 { 6734 "type": "TSLiteralType", 6735 "literal": { 6736 "type": "NumberLiteral", 6737 "value": 3, 6738 "loc": { 6739 "start": { 6740 "line": 97, 6741 "column": 26, 6742 "program": "varRedeclaration.ts" 6743 }, 6744 "end": { 6745 "line": 97, 6746 "column": 27, 6747 "program": "varRedeclaration.ts" 6748 } 6749 } 6750 }, 6751 "loc": { 6752 "start": { 6753 "line": 97, 6754 "column": 26, 6755 "program": "varRedeclaration.ts" 6756 }, 6757 "end": { 6758 "line": 97, 6759 "column": 28, 6760 "program": "varRedeclaration.ts" 6761 } 6762 } 6763 } 6764 ], 6765 "loc": { 6766 "start": { 6767 "line": 97, 6768 "column": 19, 6769 "program": "varRedeclaration.ts" 6770 }, 6771 "end": { 6772 "line": 97, 6773 "column": 28, 6774 "program": "varRedeclaration.ts" 6775 } 6776 } 6777 } 6778 ], 6779 "loc": { 6780 "start": { 6781 "line": 97, 6782 "column": 8, 6783 "program": "varRedeclaration.ts" 6784 }, 6785 "end": { 6786 "line": 97, 6787 "column": 28, 6788 "program": "varRedeclaration.ts" 6789 } 6790 } 6791 }, 6792 "decorators": [], 6793 "loc": { 6794 "start": { 6795 "line": 97, 6796 "column": 5, 6797 "program": "varRedeclaration.ts" 6798 }, 6799 "end": { 6800 "line": 97, 6801 "column": 6, 6802 "program": "varRedeclaration.ts" 6803 } 6804 } 6805 }, 6806 "init": null, 6807 "loc": { 6808 "start": { 6809 "line": 97, 6810 "column": 5, 6811 "program": "varRedeclaration.ts" 6812 }, 6813 "end": { 6814 "line": 97, 6815 "column": 6, 6816 "program": "varRedeclaration.ts" 6817 } 6818 } 6819 } 6820 ], 6821 "kind": "var", 6822 "loc": { 6823 "start": { 6824 "line": 97, 6825 "column": 1, 6826 "program": "varRedeclaration.ts" 6827 }, 6828 "end": { 6829 "line": 97, 6830 "column": 29, 6831 "program": "varRedeclaration.ts" 6832 } 6833 } 6834 }, 6835 { 6836 "type": "VariableDeclaration", 6837 "declarations": [ 6838 { 6839 "type": "VariableDeclarator", 6840 "id": { 6841 "type": "Identifier", 6842 "name": "n", 6843 "typeAnnotation": { 6844 "type": "TSUnionType", 6845 "types": [ 6846 { 6847 "type": "TSTupleType", 6848 "elementTypes": [ 6849 { 6850 "type": "TSLiteralType", 6851 "literal": { 6852 "type": "NumberLiteral", 6853 "value": 1, 6854 "loc": { 6855 "start": { 6856 "line": 98, 6857 "column": 9, 6858 "program": "varRedeclaration.ts" 6859 }, 6860 "end": { 6861 "line": 98, 6862 "column": 10, 6863 "program": "varRedeclaration.ts" 6864 } 6865 } 6866 }, 6867 "loc": { 6868 "start": { 6869 "line": 98, 6870 "column": 9, 6871 "program": "varRedeclaration.ts" 6872 }, 6873 "end": { 6874 "line": 98, 6875 "column": 11, 6876 "program": "varRedeclaration.ts" 6877 } 6878 } 6879 }, 6880 { 6881 "type": "TSLiteralType", 6882 "literal": { 6883 "type": "NumberLiteral", 6884 "value": 2, 6885 "loc": { 6886 "start": { 6887 "line": 98, 6888 "column": 12, 6889 "program": "varRedeclaration.ts" 6890 }, 6891 "end": { 6892 "line": 98, 6893 "column": 13, 6894 "program": "varRedeclaration.ts" 6895 } 6896 } 6897 }, 6898 "loc": { 6899 "start": { 6900 "line": 98, 6901 "column": 12, 6902 "program": "varRedeclaration.ts" 6903 }, 6904 "end": { 6905 "line": 98, 6906 "column": 14, 6907 "program": "varRedeclaration.ts" 6908 } 6909 } 6910 }, 6911 { 6912 "type": "TSLiteralType", 6913 "literal": { 6914 "type": "NumberLiteral", 6915 "value": 3, 6916 "loc": { 6917 "start": { 6918 "line": 98, 6919 "column": 15, 6920 "program": "varRedeclaration.ts" 6921 }, 6922 "end": { 6923 "line": 98, 6924 "column": 16, 6925 "program": "varRedeclaration.ts" 6926 } 6927 } 6928 }, 6929 "loc": { 6930 "start": { 6931 "line": 98, 6932 "column": 15, 6933 "program": "varRedeclaration.ts" 6934 }, 6935 "end": { 6936 "line": 98, 6937 "column": 17, 6938 "program": "varRedeclaration.ts" 6939 } 6940 } 6941 } 6942 ], 6943 "loc": { 6944 "start": { 6945 "line": 98, 6946 "column": 8, 6947 "program": "varRedeclaration.ts" 6948 }, 6949 "end": { 6950 "line": 98, 6951 "column": 17, 6952 "program": "varRedeclaration.ts" 6953 } 6954 } 6955 }, 6956 { 6957 "type": "TSArrayType", 6958 "elementType": { 6959 "type": "TSNumberKeyword", 6960 "loc": { 6961 "start": { 6962 "line": 98, 6963 "column": 20, 6964 "program": "varRedeclaration.ts" 6965 }, 6966 "end": { 6967 "line": 98, 6968 "column": 26, 6969 "program": "varRedeclaration.ts" 6970 } 6971 } 6972 }, 6973 "annotations": [], 6974 "loc": { 6975 "start": { 6976 "line": 98, 6977 "column": 20, 6978 "program": "varRedeclaration.ts" 6979 }, 6980 "end": { 6981 "line": 98, 6982 "column": 28, 6983 "program": "varRedeclaration.ts" 6984 } 6985 } 6986 } 6987 ], 6988 "loc": { 6989 "start": { 6990 "line": 98, 6991 "column": 8, 6992 "program": "varRedeclaration.ts" 6993 }, 6994 "end": { 6995 "line": 98, 6996 "column": 28, 6997 "program": "varRedeclaration.ts" 6998 } 6999 } 7000 }, 7001 "decorators": [], 7002 "loc": { 7003 "start": { 7004 "line": 98, 7005 "column": 5, 7006 "program": "varRedeclaration.ts" 7007 }, 7008 "end": { 7009 "line": 98, 7010 "column": 6, 7011 "program": "varRedeclaration.ts" 7012 } 7013 } 7014 }, 7015 "init": null, 7016 "loc": { 7017 "start": { 7018 "line": 98, 7019 "column": 5, 7020 "program": "varRedeclaration.ts" 7021 }, 7022 "end": { 7023 "line": 98, 7024 "column": 6, 7025 "program": "varRedeclaration.ts" 7026 } 7027 } 7028 } 7029 ], 7030 "kind": "var", 7031 "loc": { 7032 "start": { 7033 "line": 98, 7034 "column": 1, 7035 "program": "varRedeclaration.ts" 7036 }, 7037 "end": { 7038 "line": 98, 7039 "column": 29, 7040 "program": "varRedeclaration.ts" 7041 } 7042 } 7043 }, 7044 { 7045 "type": "TSInterfaceDeclaration", 7046 "body": { 7047 "type": "TSInterfaceBody", 7048 "body": [ 7049 { 7050 "type": "TSPropertySignature", 7051 "computed": false, 7052 "optional": false, 7053 "readonly": false, 7054 "key": { 7055 "type": "Identifier", 7056 "name": "a", 7057 "decorators": [], 7058 "loc": { 7059 "start": { 7060 "line": 101, 7061 "column": 5, 7062 "program": "varRedeclaration.ts" 7063 }, 7064 "end": { 7065 "line": 101, 7066 "column": 6, 7067 "program": "varRedeclaration.ts" 7068 } 7069 } 7070 }, 7071 "typeAnnotation": { 7072 "type": "TSNumberKeyword", 7073 "loc": { 7074 "start": { 7075 "line": 101, 7076 "column": 8, 7077 "program": "varRedeclaration.ts" 7078 }, 7079 "end": { 7080 "line": 101, 7081 "column": 14, 7082 "program": "varRedeclaration.ts" 7083 } 7084 } 7085 }, 7086 "loc": { 7087 "start": { 7088 "line": 101, 7089 "column": 5, 7090 "program": "varRedeclaration.ts" 7091 }, 7092 "end": { 7093 "line": 101, 7094 "column": 15, 7095 "program": "varRedeclaration.ts" 7096 } 7097 } 7098 } 7099 ], 7100 "loc": { 7101 "start": { 7102 "line": 100, 7103 "column": 22, 7104 "program": "varRedeclaration.ts" 7105 }, 7106 "end": { 7107 "line": 102, 7108 "column": 2, 7109 "program": "varRedeclaration.ts" 7110 } 7111 } 7112 }, 7113 "id": { 7114 "type": "Identifier", 7115 "name": "interface7", 7116 "decorators": [], 7117 "loc": { 7118 "start": { 7119 "line": 100, 7120 "column": 11, 7121 "program": "varRedeclaration.ts" 7122 }, 7123 "end": { 7124 "line": 100, 7125 "column": 21, 7126 "program": "varRedeclaration.ts" 7127 } 7128 } 7129 }, 7130 "extends": [], 7131 "loc": { 7132 "start": { 7133 "line": 100, 7134 "column": 1, 7135 "program": "varRedeclaration.ts" 7136 }, 7137 "end": { 7138 "line": 102, 7139 "column": 2, 7140 "program": "varRedeclaration.ts" 7141 } 7142 } 7143 }, 7144 { 7145 "type": "TSInterfaceDeclaration", 7146 "body": { 7147 "type": "TSInterfaceBody", 7148 "body": [ 7149 { 7150 "type": "TSPropertySignature", 7151 "computed": false, 7152 "optional": false, 7153 "readonly": false, 7154 "key": { 7155 "type": "Identifier", 7156 "name": "a", 7157 "decorators": [], 7158 "loc": { 7159 "start": { 7160 "line": 105, 7161 "column": 5, 7162 "program": "varRedeclaration.ts" 7163 }, 7164 "end": { 7165 "line": 105, 7166 "column": 6, 7167 "program": "varRedeclaration.ts" 7168 } 7169 } 7170 }, 7171 "typeAnnotation": { 7172 "type": "TSNumberKeyword", 7173 "loc": { 7174 "start": { 7175 "line": 105, 7176 "column": 8, 7177 "program": "varRedeclaration.ts" 7178 }, 7179 "end": { 7180 "line": 105, 7181 "column": 14, 7182 "program": "varRedeclaration.ts" 7183 } 7184 } 7185 }, 7186 "loc": { 7187 "start": { 7188 "line": 105, 7189 "column": 5, 7190 "program": "varRedeclaration.ts" 7191 }, 7192 "end": { 7193 "line": 105, 7194 "column": 15, 7195 "program": "varRedeclaration.ts" 7196 } 7197 } 7198 } 7199 ], 7200 "loc": { 7201 "start": { 7202 "line": 104, 7203 "column": 41, 7204 "program": "varRedeclaration.ts" 7205 }, 7206 "end": { 7207 "line": 106, 7208 "column": 2, 7209 "program": "varRedeclaration.ts" 7210 } 7211 } 7212 }, 7213 "id": { 7214 "type": "Identifier", 7215 "name": "interface8", 7216 "decorators": [], 7217 "loc": { 7218 "start": { 7219 "line": 104, 7220 "column": 11, 7221 "program": "varRedeclaration.ts" 7222 }, 7223 "end": { 7224 "line": 104, 7225 "column": 21, 7226 "program": "varRedeclaration.ts" 7227 } 7228 } 7229 }, 7230 "extends": [ 7231 { 7232 "type": "TSInterfaceHeritage", 7233 "expression": { 7234 "type": "TSTypeReference", 7235 "typeName": { 7236 "type": "Identifier", 7237 "name": "interface7", 7238 "decorators": [], 7239 "loc": { 7240 "start": { 7241 "line": 104, 7242 "column": 30, 7243 "program": "varRedeclaration.ts" 7244 }, 7245 "end": { 7246 "line": 104, 7247 "column": 40, 7248 "program": "varRedeclaration.ts" 7249 } 7250 } 7251 }, 7252 "loc": { 7253 "start": { 7254 "line": 104, 7255 "column": 41, 7256 "program": "varRedeclaration.ts" 7257 }, 7258 "end": { 7259 "line": 104, 7260 "column": 40, 7261 "program": "varRedeclaration.ts" 7262 } 7263 } 7264 }, 7265 "loc": { 7266 "start": { 7267 "line": 104, 7268 "column": 41, 7269 "program": "varRedeclaration.ts" 7270 }, 7271 "end": { 7272 "line": 104, 7273 "column": 40, 7274 "program": "varRedeclaration.ts" 7275 } 7276 } 7277 } 7278 ], 7279 "loc": { 7280 "start": { 7281 "line": 104, 7282 "column": 1, 7283 "program": "varRedeclaration.ts" 7284 }, 7285 "end": { 7286 "line": 106, 7287 "column": 2, 7288 "program": "varRedeclaration.ts" 7289 } 7290 } 7291 }, 7292 { 7293 "type": "TSInterfaceDeclaration", 7294 "body": { 7295 "type": "TSInterfaceBody", 7296 "body": [ 7297 { 7298 "type": "TSPropertySignature", 7299 "computed": false, 7300 "optional": false, 7301 "readonly": false, 7302 "key": { 7303 "type": "Identifier", 7304 "name": "a", 7305 "decorators": [], 7306 "loc": { 7307 "start": { 7308 "line": 109, 7309 "column": 5, 7310 "program": "varRedeclaration.ts" 7311 }, 7312 "end": { 7313 "line": 109, 7314 "column": 6, 7315 "program": "varRedeclaration.ts" 7316 } 7317 } 7318 }, 7319 "typeAnnotation": { 7320 "type": "TSNumberKeyword", 7321 "loc": { 7322 "start": { 7323 "line": 109, 7324 "column": 8, 7325 "program": "varRedeclaration.ts" 7326 }, 7327 "end": { 7328 "line": 109, 7329 "column": 14, 7330 "program": "varRedeclaration.ts" 7331 } 7332 } 7333 }, 7334 "loc": { 7335 "start": { 7336 "line": 109, 7337 "column": 5, 7338 "program": "varRedeclaration.ts" 7339 }, 7340 "end": { 7341 "line": 109, 7342 "column": 15, 7343 "program": "varRedeclaration.ts" 7344 } 7345 } 7346 } 7347 ], 7348 "loc": { 7349 "start": { 7350 "line": 108, 7351 "column": 22, 7352 "program": "varRedeclaration.ts" 7353 }, 7354 "end": { 7355 "line": 110, 7356 "column": 2, 7357 "program": "varRedeclaration.ts" 7358 } 7359 } 7360 }, 7361 "id": { 7362 "type": "Identifier", 7363 "name": "interface9", 7364 "decorators": [], 7365 "loc": { 7366 "start": { 7367 "line": 108, 7368 "column": 11, 7369 "program": "varRedeclaration.ts" 7370 }, 7371 "end": { 7372 "line": 108, 7373 "column": 21, 7374 "program": "varRedeclaration.ts" 7375 } 7376 } 7377 }, 7378 "extends": [], 7379 "loc": { 7380 "start": { 7381 "line": 108, 7382 "column": 1, 7383 "program": "varRedeclaration.ts" 7384 }, 7385 "end": { 7386 "line": 110, 7387 "column": 2, 7388 "program": "varRedeclaration.ts" 7389 } 7390 } 7391 }, 7392 { 7393 "type": "VariableDeclaration", 7394 "declarations": [ 7395 { 7396 "type": "VariableDeclarator", 7397 "id": { 7398 "type": "Identifier", 7399 "name": "o", 7400 "typeAnnotation": { 7401 "type": "TSTypeReference", 7402 "typeName": { 7403 "type": "Identifier", 7404 "name": "interface9", 7405 "decorators": [], 7406 "loc": { 7407 "start": { 7408 "line": 112, 7409 "column": 8, 7410 "program": "varRedeclaration.ts" 7411 }, 7412 "end": { 7413 "line": 112, 7414 "column": 18, 7415 "program": "varRedeclaration.ts" 7416 } 7417 } 7418 }, 7419 "loc": { 7420 "start": { 7421 "line": 112, 7422 "column": 8, 7423 "program": "varRedeclaration.ts" 7424 }, 7425 "end": { 7426 "line": 112, 7427 "column": 18, 7428 "program": "varRedeclaration.ts" 7429 } 7430 } 7431 }, 7432 "decorators": [], 7433 "loc": { 7434 "start": { 7435 "line": 112, 7436 "column": 5, 7437 "program": "varRedeclaration.ts" 7438 }, 7439 "end": { 7440 "line": 112, 7441 "column": 6, 7442 "program": "varRedeclaration.ts" 7443 } 7444 } 7445 }, 7446 "init": null, 7447 "loc": { 7448 "start": { 7449 "line": 112, 7450 "column": 5, 7451 "program": "varRedeclaration.ts" 7452 }, 7453 "end": { 7454 "line": 112, 7455 "column": 6, 7456 "program": "varRedeclaration.ts" 7457 } 7458 } 7459 } 7460 ], 7461 "kind": "var", 7462 "loc": { 7463 "start": { 7464 "line": 112, 7465 "column": 1, 7466 "program": "varRedeclaration.ts" 7467 }, 7468 "end": { 7469 "line": 112, 7470 "column": 19, 7471 "program": "varRedeclaration.ts" 7472 } 7473 } 7474 }, 7475 { 7476 "type": "VariableDeclaration", 7477 "declarations": [ 7478 { 7479 "type": "VariableDeclarator", 7480 "id": { 7481 "type": "Identifier", 7482 "name": "o", 7483 "typeAnnotation": { 7484 "type": "TSTypeReference", 7485 "typeName": { 7486 "type": "Identifier", 7487 "name": "interface8", 7488 "decorators": [], 7489 "loc": { 7490 "start": { 7491 "line": 113, 7492 "column": 8, 7493 "program": "varRedeclaration.ts" 7494 }, 7495 "end": { 7496 "line": 113, 7497 "column": 18, 7498 "program": "varRedeclaration.ts" 7499 } 7500 } 7501 }, 7502 "loc": { 7503 "start": { 7504 "line": 113, 7505 "column": 8, 7506 "program": "varRedeclaration.ts" 7507 }, 7508 "end": { 7509 "line": 113, 7510 "column": 18, 7511 "program": "varRedeclaration.ts" 7512 } 7513 } 7514 }, 7515 "decorators": [], 7516 "loc": { 7517 "start": { 7518 "line": 113, 7519 "column": 5, 7520 "program": "varRedeclaration.ts" 7521 }, 7522 "end": { 7523 "line": 113, 7524 "column": 6, 7525 "program": "varRedeclaration.ts" 7526 } 7527 } 7528 }, 7529 "init": null, 7530 "loc": { 7531 "start": { 7532 "line": 113, 7533 "column": 5, 7534 "program": "varRedeclaration.ts" 7535 }, 7536 "end": { 7537 "line": 113, 7538 "column": 6, 7539 "program": "varRedeclaration.ts" 7540 } 7541 } 7542 } 7543 ], 7544 "kind": "var", 7545 "loc": { 7546 "start": { 7547 "line": 113, 7548 "column": 1, 7549 "program": "varRedeclaration.ts" 7550 }, 7551 "end": { 7552 "line": 113, 7553 "column": 19, 7554 "program": "varRedeclaration.ts" 7555 } 7556 } 7557 }, 7558 { 7559 "type": "VariableDeclaration", 7560 "declarations": [ 7561 { 7562 "type": "VariableDeclarator", 7563 "id": { 7564 "type": "Identifier", 7565 "name": "p", 7566 "typeAnnotation": { 7567 "type": "TSTypeLiteral", 7568 "members": [ 7569 { 7570 "type": "TSPropertySignature", 7571 "computed": false, 7572 "optional": false, 7573 "readonly": false, 7574 "key": { 7575 "type": "Identifier", 7576 "name": "a", 7577 "decorators": [], 7578 "loc": { 7579 "start": { 7580 "line": 115, 7581 "column": 10, 7582 "program": "varRedeclaration.ts" 7583 }, 7584 "end": { 7585 "line": 115, 7586 "column": 11, 7587 "program": "varRedeclaration.ts" 7588 } 7589 } 7590 }, 7591 "typeAnnotation": { 7592 "type": "TSNumberKeyword", 7593 "loc": { 7594 "start": { 7595 "line": 115, 7596 "column": 13, 7597 "program": "varRedeclaration.ts" 7598 }, 7599 "end": { 7600 "line": 115, 7601 "column": 19, 7602 "program": "varRedeclaration.ts" 7603 } 7604 } 7605 }, 7606 "loc": { 7607 "start": { 7608 "line": 115, 7609 "column": 10, 7610 "program": "varRedeclaration.ts" 7611 }, 7612 "end": { 7613 "line": 115, 7614 "column": 20, 7615 "program": "varRedeclaration.ts" 7616 } 7617 } 7618 }, 7619 { 7620 "type": "TSPropertySignature", 7621 "computed": false, 7622 "optional": false, 7623 "readonly": false, 7624 "key": { 7625 "type": "Identifier", 7626 "name": "b", 7627 "decorators": [], 7628 "loc": { 7629 "start": { 7630 "line": 115, 7631 "column": 21, 7632 "program": "varRedeclaration.ts" 7633 }, 7634 "end": { 7635 "line": 115, 7636 "column": 22, 7637 "program": "varRedeclaration.ts" 7638 } 7639 } 7640 }, 7641 "typeAnnotation": { 7642 "type": "TSStringKeyword", 7643 "loc": { 7644 "start": { 7645 "line": 115, 7646 "column": 24, 7647 "program": "varRedeclaration.ts" 7648 }, 7649 "end": { 7650 "line": 115, 7651 "column": 30, 7652 "program": "varRedeclaration.ts" 7653 } 7654 } 7655 }, 7656 "loc": { 7657 "start": { 7658 "line": 115, 7659 "column": 21, 7660 "program": "varRedeclaration.ts" 7661 }, 7662 "end": { 7663 "line": 115, 7664 "column": 32, 7665 "program": "varRedeclaration.ts" 7666 } 7667 } 7668 } 7669 ], 7670 "loc": { 7671 "start": { 7672 "line": 115, 7673 "column": 8, 7674 "program": "varRedeclaration.ts" 7675 }, 7676 "end": { 7677 "line": 115, 7678 "column": 32, 7679 "program": "varRedeclaration.ts" 7680 } 7681 } 7682 }, 7683 "decorators": [], 7684 "loc": { 7685 "start": { 7686 "line": 115, 7687 "column": 5, 7688 "program": "varRedeclaration.ts" 7689 }, 7690 "end": { 7691 "line": 115, 7692 "column": 6, 7693 "program": "varRedeclaration.ts" 7694 } 7695 } 7696 }, 7697 "init": null, 7698 "loc": { 7699 "start": { 7700 "line": 115, 7701 "column": 5, 7702 "program": "varRedeclaration.ts" 7703 }, 7704 "end": { 7705 "line": 115, 7706 "column": 6, 7707 "program": "varRedeclaration.ts" 7708 } 7709 } 7710 } 7711 ], 7712 "kind": "var", 7713 "loc": { 7714 "start": { 7715 "line": 115, 7716 "column": 1, 7717 "program": "varRedeclaration.ts" 7718 }, 7719 "end": { 7720 "line": 115, 7721 "column": 33, 7722 "program": "varRedeclaration.ts" 7723 } 7724 } 7725 }, 7726 { 7727 "type": "VariableDeclaration", 7728 "declarations": [ 7729 { 7730 "type": "VariableDeclarator", 7731 "id": { 7732 "type": "Identifier", 7733 "name": "p", 7734 "typeAnnotation": { 7735 "type": "TSTypeQuery", 7736 "exprName": { 7737 "type": "Identifier", 7738 "name": "p", 7739 "decorators": [], 7740 "loc": { 7741 "start": { 7742 "line": 116, 7743 "column": 15, 7744 "program": "varRedeclaration.ts" 7745 }, 7746 "end": { 7747 "line": 116, 7748 "column": 16, 7749 "program": "varRedeclaration.ts" 7750 } 7751 } 7752 }, 7753 "loc": { 7754 "start": { 7755 "line": 116, 7756 "column": 8, 7757 "program": "varRedeclaration.ts" 7758 }, 7759 "end": { 7760 "line": 116, 7761 "column": 16, 7762 "program": "varRedeclaration.ts" 7763 } 7764 } 7765 }, 7766 "decorators": [], 7767 "loc": { 7768 "start": { 7769 "line": 116, 7770 "column": 5, 7771 "program": "varRedeclaration.ts" 7772 }, 7773 "end": { 7774 "line": 116, 7775 "column": 6, 7776 "program": "varRedeclaration.ts" 7777 } 7778 } 7779 }, 7780 "init": null, 7781 "loc": { 7782 "start": { 7783 "line": 116, 7784 "column": 5, 7785 "program": "varRedeclaration.ts" 7786 }, 7787 "end": { 7788 "line": 116, 7789 "column": 6, 7790 "program": "varRedeclaration.ts" 7791 } 7792 } 7793 } 7794 ], 7795 "kind": "var", 7796 "loc": { 7797 "start": { 7798 "line": 116, 7799 "column": 1, 7800 "program": "varRedeclaration.ts" 7801 }, 7802 "end": { 7803 "line": 116, 7804 "column": 17, 7805 "program": "varRedeclaration.ts" 7806 } 7807 } 7808 } 7809 ], 7810 "loc": { 7811 "start": { 7812 "line": 1, 7813 "column": 1, 7814 "program": "varRedeclaration.ts" 7815 }, 7816 "end": { 7817 "line": 117, 7818 "column": 1, 7819 "program": "varRedeclaration.ts" 7820 } 7821 } 7822} 7823