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