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