1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "ClassDeclaration", 6 "definition": { 7 "id": { 8 "type": "Identifier", 9 "name": "C1", 10 "loc": { 11 "start": { 12 "line": 17, 13 "column": 15 14 }, 15 "end": { 16 "line": 17, 17 "column": 17 18 } 19 } 20 }, 21 "superClass": null, 22 "implements": [], 23 "constructor": { 24 "type": "MethodDefinition", 25 "key": { 26 "type": "Identifier", 27 "name": "constructor", 28 "loc": { 29 "start": { 30 "line": 1, 31 "column": 1 32 }, 33 "end": { 34 "line": 1, 35 "column": 1 36 } 37 } 38 }, 39 "kind": "constructor", 40 "static": false, 41 "optional": false, 42 "computed": false, 43 "value": { 44 "type": "FunctionExpression", 45 "function": { 46 "type": "ScriptFunction", 47 "id": null, 48 "generator": false, 49 "async": false, 50 "expression": false, 51 "params": [], 52 "declare": true, 53 "loc": { 54 "start": { 55 "line": 1, 56 "column": 1 57 }, 58 "end": { 59 "line": 1, 60 "column": 1 61 } 62 } 63 }, 64 "loc": { 65 "start": { 66 "line": 1, 67 "column": 1 68 }, 69 "end": { 70 "line": 1, 71 "column": 1 72 } 73 } 74 }, 75 "overloads": [], 76 "decorators": [], 77 "loc": { 78 "start": { 79 "line": 17, 80 "column": 9 81 }, 82 "end": { 83 "line": 17, 84 "column": 20 85 } 86 } 87 }, 88 "body": [], 89 "indexSignatures": [], 90 "loc": { 91 "start": { 92 "line": 17, 93 "column": 18 94 }, 95 "end": { 96 "line": 17, 97 "column": 20 98 } 99 } 100 }, 101 "decorators": [], 102 "loc": { 103 "start": { 104 "line": 17, 105 "column": 9 106 }, 107 "end": { 108 "line": 17, 109 "column": 20 110 } 111 } 112 }, 113 { 114 "type": "TSDeclareFunction", 115 "function": { 116 "type": "ScriptFunction", 117 "id": { 118 "type": "Identifier", 119 "name": "C1", 120 "loc": { 121 "start": { 122 "line": 18, 123 "column": 10 124 }, 125 "end": { 126 "line": 18, 127 "column": 12 128 } 129 } 130 }, 131 "generator": false, 132 "async": false, 133 "expression": false, 134 "params": [], 135 "returnType": { 136 "type": "TSTypeReference", 137 "typeName": { 138 "type": "Identifier", 139 "name": "C1", 140 "loc": { 141 "start": { 142 "line": 18, 143 "column": 17 144 }, 145 "end": { 146 "line": 18, 147 "column": 19 148 } 149 } 150 }, 151 "loc": { 152 "start": { 153 "line": 18, 154 "column": 17 155 }, 156 "end": { 157 "line": 18, 158 "column": 19 159 } 160 } 161 }, 162 "loc": { 163 "start": { 164 "line": 18, 165 "column": 1 166 }, 167 "end": { 168 "line": 19, 169 "column": 9 170 } 171 } 172 }, 173 "loc": { 174 "start": { 175 "line": 18, 176 "column": 1 177 }, 178 "end": { 179 "line": 19, 180 "column": 9 181 } 182 } 183 }, 184 { 185 "type": "FunctionDeclaration", 186 "function": { 187 "type": "ScriptFunction", 188 "id": { 189 "type": "Identifier", 190 "name": "C1", 191 "loc": { 192 "start": { 193 "line": 19, 194 "column": 10 195 }, 196 "end": { 197 "line": 19, 198 "column": 12 199 } 200 } 201 }, 202 "generator": false, 203 "async": false, 204 "expression": false, 205 "params": [], 206 "returnType": { 207 "type": "TSAnyKeyword", 208 "loc": { 209 "start": { 210 "line": 19, 211 "column": 17 212 }, 213 "end": { 214 "line": 19, 215 "column": 20 216 } 217 } 218 }, 219 "body": { 220 "type": "BlockStatement", 221 "statements": [], 222 "loc": { 223 "start": { 224 "line": 19, 225 "column": 21 226 }, 227 "end": { 228 "line": 19, 229 "column": 23 230 } 231 } 232 }, 233 "loc": { 234 "start": { 235 "line": 19, 236 "column": 1 237 }, 238 "end": { 239 "line": 19, 240 "column": 23 241 } 242 } 243 }, 244 "loc": { 245 "start": { 246 "line": 19, 247 "column": 1 248 }, 249 "end": { 250 "line": 19, 251 "column": 23 252 } 253 } 254 }, 255 { 256 "type": "ClassDeclaration", 257 "definition": { 258 "id": { 259 "type": "Identifier", 260 "name": "C2", 261 "loc": { 262 "start": { 263 "line": 21, 264 "column": 15 265 }, 266 "end": { 267 "line": 21, 268 "column": 17 269 } 270 } 271 }, 272 "superClass": null, 273 "implements": [], 274 "constructor": { 275 "type": "MethodDefinition", 276 "key": { 277 "type": "Identifier", 278 "name": "constructor", 279 "loc": { 280 "start": { 281 "line": 1, 282 "column": 1 283 }, 284 "end": { 285 "line": 1, 286 "column": 1 287 } 288 } 289 }, 290 "kind": "constructor", 291 "static": false, 292 "optional": false, 293 "computed": false, 294 "value": { 295 "type": "FunctionExpression", 296 "function": { 297 "type": "ScriptFunction", 298 "id": null, 299 "generator": false, 300 "async": false, 301 "expression": false, 302 "params": [], 303 "declare": true, 304 "loc": { 305 "start": { 306 "line": 1, 307 "column": 1 308 }, 309 "end": { 310 "line": 1, 311 "column": 1 312 } 313 } 314 }, 315 "loc": { 316 "start": { 317 "line": 1, 318 "column": 1 319 }, 320 "end": { 321 "line": 1, 322 "column": 1 323 } 324 } 325 }, 326 "overloads": [], 327 "decorators": [], 328 "loc": { 329 "start": { 330 "line": 21, 331 "column": 9 332 }, 333 "end": { 334 "line": 21, 335 "column": 20 336 } 337 } 338 }, 339 "body": [], 340 "indexSignatures": [], 341 "loc": { 342 "start": { 343 "line": 21, 344 "column": 18 345 }, 346 "end": { 347 "line": 21, 348 "column": 20 349 } 350 } 351 }, 352 "decorators": [], 353 "loc": { 354 "start": { 355 "line": 21, 356 "column": 9 357 }, 358 "end": { 359 "line": 21, 360 "column": 20 361 } 362 } 363 }, 364 { 365 "type": "TSDeclareFunction", 366 "function": { 367 "type": "ScriptFunction", 368 "id": { 369 "type": "Identifier", 370 "name": "C2", 371 "loc": { 372 "start": { 373 "line": 22, 374 "column": 18 375 }, 376 "end": { 377 "line": 22, 378 "column": 20 379 } 380 } 381 }, 382 "generator": false, 383 "async": false, 384 "expression": false, 385 "params": [], 386 "returnType": { 387 "type": "TSTypeReference", 388 "typeName": { 389 "type": "Identifier", 390 "name": "C2", 391 "loc": { 392 "start": { 393 "line": 22, 394 "column": 25 395 }, 396 "end": { 397 "line": 22, 398 "column": 27 399 } 400 } 401 }, 402 "loc": { 403 "start": { 404 "line": 22, 405 "column": 25 406 }, 407 "end": { 408 "line": 22, 409 "column": 27 410 } 411 } 412 }, 413 "declare": true, 414 "loc": { 415 "start": { 416 "line": 22, 417 "column": 9 418 }, 419 "end": { 420 "line": 23, 421 "column": 8 422 } 423 } 424 }, 425 "loc": { 426 "start": { 427 "line": 22, 428 "column": 9 429 }, 430 "end": { 431 "line": 23, 432 "column": 8 433 } 434 } 435 }, 436 { 437 "type": "TSDeclareFunction", 438 "function": { 439 "type": "ScriptFunction", 440 "id": { 441 "type": "Identifier", 442 "name": "C2", 443 "loc": { 444 "start": { 445 "line": 23, 446 "column": 18 447 }, 448 "end": { 449 "line": 23, 450 "column": 20 451 } 452 } 453 }, 454 "generator": false, 455 "async": false, 456 "expression": false, 457 "params": [], 458 "returnType": { 459 "type": "TSTypeReference", 460 "typeName": { 461 "type": "Identifier", 462 "name": "C2", 463 "loc": { 464 "start": { 465 "line": 23, 466 "column": 25 467 }, 468 "end": { 469 "line": 23, 470 "column": 27 471 } 472 } 473 }, 474 "loc": { 475 "start": { 476 "line": 23, 477 "column": 25 478 }, 479 "end": { 480 "line": 23, 481 "column": 27 482 } 483 } 484 }, 485 "declare": true, 486 "loc": { 487 "start": { 488 "line": 23, 489 "column": 9 490 }, 491 "end": { 492 "line": 25, 493 "column": 10 494 } 495 } 496 }, 497 "loc": { 498 "start": { 499 "line": 23, 500 "column": 9 501 }, 502 "end": { 503 "line": 25, 504 "column": 10 505 } 506 } 507 }, 508 { 509 "type": "TSModuleDeclaration", 510 "id": { 511 "type": "Identifier", 512 "name": "ns", 513 "loc": { 514 "start": { 515 "line": 25, 516 "column": 11 517 }, 518 "end": { 519 "line": 25, 520 "column": 13 521 } 522 } 523 }, 524 "body": { 525 "type": "TSModuleBlock", 526 "body": [ 527 { 528 "type": "ClassDeclaration", 529 "definition": { 530 "id": { 531 "type": "Identifier", 532 "name": "C1", 533 "loc": { 534 "start": { 535 "line": 26, 536 "column": 19 537 }, 538 "end": { 539 "line": 26, 540 "column": 21 541 } 542 } 543 }, 544 "superClass": null, 545 "implements": [], 546 "constructor": { 547 "type": "MethodDefinition", 548 "key": { 549 "type": "Identifier", 550 "name": "constructor", 551 "loc": { 552 "start": { 553 "line": 1, 554 "column": 1 555 }, 556 "end": { 557 "line": 1, 558 "column": 1 559 } 560 } 561 }, 562 "kind": "constructor", 563 "static": false, 564 "optional": false, 565 "computed": false, 566 "value": { 567 "type": "FunctionExpression", 568 "function": { 569 "type": "ScriptFunction", 570 "id": null, 571 "generator": false, 572 "async": false, 573 "expression": false, 574 "params": [], 575 "declare": true, 576 "loc": { 577 "start": { 578 "line": 1, 579 "column": 1 580 }, 581 "end": { 582 "line": 1, 583 "column": 1 584 } 585 } 586 }, 587 "loc": { 588 "start": { 589 "line": 1, 590 "column": 1 591 }, 592 "end": { 593 "line": 1, 594 "column": 1 595 } 596 } 597 }, 598 "overloads": [], 599 "decorators": [], 600 "loc": { 601 "start": { 602 "line": 26, 603 "column": 13 604 }, 605 "end": { 606 "line": 26, 607 "column": 24 608 } 609 } 610 }, 611 "body": [], 612 "indexSignatures": [], 613 "loc": { 614 "start": { 615 "line": 26, 616 "column": 22 617 }, 618 "end": { 619 "line": 26, 620 "column": 24 621 } 622 } 623 }, 624 "decorators": [], 625 "loc": { 626 "start": { 627 "line": 26, 628 "column": 13 629 }, 630 "end": { 631 "line": 26, 632 "column": 24 633 } 634 } 635 }, 636 { 637 "type": "TSDeclareFunction", 638 "function": { 639 "type": "ScriptFunction", 640 "id": { 641 "type": "Identifier", 642 "name": "C1", 643 "loc": { 644 "start": { 645 "line": 27, 646 "column": 14 647 }, 648 "end": { 649 "line": 27, 650 "column": 16 651 } 652 } 653 }, 654 "generator": false, 655 "async": false, 656 "expression": false, 657 "params": [], 658 "returnType": { 659 "type": "TSTypeReference", 660 "typeName": { 661 "type": "Identifier", 662 "name": "C1", 663 "loc": { 664 "start": { 665 "line": 27, 666 "column": 21 667 }, 668 "end": { 669 "line": 27, 670 "column": 23 671 } 672 } 673 }, 674 "loc": { 675 "start": { 676 "line": 27, 677 "column": 21 678 }, 679 "end": { 680 "line": 27, 681 "column": 23 682 } 683 } 684 }, 685 "loc": { 686 "start": { 687 "line": 27, 688 "column": 5 689 }, 690 "end": { 691 "line": 28, 692 "column": 13 693 } 694 } 695 }, 696 "loc": { 697 "start": { 698 "line": 27, 699 "column": 5 700 }, 701 "end": { 702 "line": 28, 703 "column": 13 704 } 705 } 706 }, 707 { 708 "type": "FunctionDeclaration", 709 "function": { 710 "type": "ScriptFunction", 711 "id": { 712 "type": "Identifier", 713 "name": "C1", 714 "loc": { 715 "start": { 716 "line": 28, 717 "column": 14 718 }, 719 "end": { 720 "line": 28, 721 "column": 16 722 } 723 } 724 }, 725 "generator": false, 726 "async": false, 727 "expression": false, 728 "params": [], 729 "returnType": { 730 "type": "TSAnyKeyword", 731 "loc": { 732 "start": { 733 "line": 28, 734 "column": 21 735 }, 736 "end": { 737 "line": 28, 738 "column": 24 739 } 740 } 741 }, 742 "body": { 743 "type": "BlockStatement", 744 "statements": [], 745 "loc": { 746 "start": { 747 "line": 28, 748 "column": 25 749 }, 750 "end": { 751 "line": 28, 752 "column": 27 753 } 754 } 755 }, 756 "loc": { 757 "start": { 758 "line": 28, 759 "column": 5 760 }, 761 "end": { 762 "line": 28, 763 "column": 27 764 } 765 } 766 }, 767 "loc": { 768 "start": { 769 "line": 28, 770 "column": 5 771 }, 772 "end": { 773 "line": 28, 774 "column": 27 775 } 776 } 777 }, 778 { 779 "type": "ClassDeclaration", 780 "definition": { 781 "id": { 782 "type": "Identifier", 783 "name": "C2", 784 "loc": { 785 "start": { 786 "line": 30, 787 "column": 19 788 }, 789 "end": { 790 "line": 30, 791 "column": 21 792 } 793 } 794 }, 795 "superClass": null, 796 "implements": [], 797 "constructor": { 798 "type": "MethodDefinition", 799 "key": { 800 "type": "Identifier", 801 "name": "constructor", 802 "loc": { 803 "start": { 804 "line": 1, 805 "column": 1 806 }, 807 "end": { 808 "line": 1, 809 "column": 1 810 } 811 } 812 }, 813 "kind": "constructor", 814 "static": false, 815 "optional": false, 816 "computed": false, 817 "value": { 818 "type": "FunctionExpression", 819 "function": { 820 "type": "ScriptFunction", 821 "id": null, 822 "generator": false, 823 "async": false, 824 "expression": false, 825 "params": [], 826 "declare": true, 827 "loc": { 828 "start": { 829 "line": 1, 830 "column": 1 831 }, 832 "end": { 833 "line": 1, 834 "column": 1 835 } 836 } 837 }, 838 "loc": { 839 "start": { 840 "line": 1, 841 "column": 1 842 }, 843 "end": { 844 "line": 1, 845 "column": 1 846 } 847 } 848 }, 849 "overloads": [], 850 "decorators": [], 851 "loc": { 852 "start": { 853 "line": 30, 854 "column": 13 855 }, 856 "end": { 857 "line": 30, 858 "column": 24 859 } 860 } 861 }, 862 "body": [], 863 "indexSignatures": [], 864 "loc": { 865 "start": { 866 "line": 30, 867 "column": 22 868 }, 869 "end": { 870 "line": 30, 871 "column": 24 872 } 873 } 874 }, 875 "decorators": [], 876 "loc": { 877 "start": { 878 "line": 30, 879 "column": 13 880 }, 881 "end": { 882 "line": 30, 883 "column": 24 884 } 885 } 886 }, 887 { 888 "type": "TSDeclareFunction", 889 "function": { 890 "type": "ScriptFunction", 891 "id": { 892 "type": "Identifier", 893 "name": "C2", 894 "loc": { 895 "start": { 896 "line": 31, 897 "column": 22 898 }, 899 "end": { 900 "line": 31, 901 "column": 24 902 } 903 } 904 }, 905 "generator": false, 906 "async": false, 907 "expression": false, 908 "params": [], 909 "returnType": { 910 "type": "TSTypeReference", 911 "typeName": { 912 "type": "Identifier", 913 "name": "C2", 914 "loc": { 915 "start": { 916 "line": 31, 917 "column": 29 918 }, 919 "end": { 920 "line": 31, 921 "column": 31 922 } 923 } 924 }, 925 "loc": { 926 "start": { 927 "line": 31, 928 "column": 29 929 }, 930 "end": { 931 "line": 31, 932 "column": 31 933 } 934 } 935 }, 936 "declare": true, 937 "loc": { 938 "start": { 939 "line": 31, 940 "column": 13 941 }, 942 "end": { 943 "line": 32, 944 "column": 12 945 } 946 } 947 }, 948 "loc": { 949 "start": { 950 "line": 31, 951 "column": 13 952 }, 953 "end": { 954 "line": 32, 955 "column": 12 956 } 957 } 958 }, 959 { 960 "type": "TSDeclareFunction", 961 "function": { 962 "type": "ScriptFunction", 963 "id": { 964 "type": "Identifier", 965 "name": "C2", 966 "loc": { 967 "start": { 968 "line": 32, 969 "column": 22 970 }, 971 "end": { 972 "line": 32, 973 "column": 24 974 } 975 } 976 }, 977 "generator": false, 978 "async": false, 979 "expression": false, 980 "params": [], 981 "returnType": { 982 "type": "TSTypeReference", 983 "typeName": { 984 "type": "Identifier", 985 "name": "C2", 986 "loc": { 987 "start": { 988 "line": 32, 989 "column": 29 990 }, 991 "end": { 992 "line": 32, 993 "column": 31 994 } 995 } 996 }, 997 "loc": { 998 "start": { 999 "line": 32, 1000 "column": 29 1001 }, 1002 "end": { 1003 "line": 32, 1004 "column": 31 1005 } 1006 } 1007 }, 1008 "declare": true, 1009 "loc": { 1010 "start": { 1011 "line": 32, 1012 "column": 13 1013 }, 1014 "end": { 1015 "line": 33, 1016 "column": 2 1017 } 1018 } 1019 }, 1020 "loc": { 1021 "start": { 1022 "line": 32, 1023 "column": 13 1024 }, 1025 "end": { 1026 "line": 33, 1027 "column": 2 1028 } 1029 } 1030 } 1031 ], 1032 "loc": { 1033 "start": { 1034 "line": 25, 1035 "column": 14 1036 }, 1037 "end": { 1038 "line": 33, 1039 "column": 2 1040 } 1041 } 1042 }, 1043 "declare": false, 1044 "global": false, 1045 "loc": { 1046 "start": { 1047 "line": 25, 1048 "column": 1 1049 }, 1050 "end": { 1051 "line": 34, 1052 "column": 1 1053 } 1054 } 1055 } 1056 ], 1057 "loc": { 1058 "start": { 1059 "line": 1, 1060 "column": 1 1061 }, 1062 "end": { 1063 "line": 34, 1064 "column": 1 1065 } 1066 } 1067} 1068