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