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