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