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