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