• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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