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