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