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