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