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