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