1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ClassDeclaration",
6      "definition": {
7        "id": {
8          "type": "Identifier",
9          "name": "MultiFoo",
10          "loc": {
11            "start": {
12              "line": 17,
13              "column": 7
14            },
15            "end": {
16              "line": 17,
17              "column": 15
18            }
19          }
20        },
21        "superClass": null,
22        "implements": [],
23        "constructor": {
24          "type": "MethodDefinition",
25          "key": {
26            "type": "Identifier",
27            "name": "constructor",
28            "loc": {
29              "start": {
30                "line": 1,
31                "column": 1
32              },
33              "end": {
34                "line": 1,
35                "column": 1
36              }
37            }
38          },
39          "kind": "constructor",
40          "static": false,
41          "optional": false,
42          "computed": false,
43          "value": {
44            "type": "FunctionExpression",
45            "function": {
46              "type": "ScriptFunction",
47              "id": null,
48              "generator": false,
49              "async": false,
50              "expression": false,
51              "params": [],
52              "body": {
53                "type": "BlockStatement",
54                "statements": [],
55                "loc": {
56                  "start": {
57                    "line": 1,
58                    "column": 1
59                  },
60                  "end": {
61                    "line": 1,
62                    "column": 1
63                  }
64                }
65              },
66              "loc": {
67                "start": {
68                  "line": 1,
69                  "column": 1
70                },
71                "end": {
72                  "line": 1,
73                  "column": 1
74                }
75              }
76            },
77            "loc": {
78              "start": {
79                "line": 1,
80                "column": 1
81              },
82              "end": {
83                "line": 1,
84                "column": 1
85              }
86            }
87          },
88          "overloads": [],
89          "decorators": [],
90          "annotations": [],
91          "loc": {
92            "start": {
93              "line": 17,
94              "column": 1
95            },
96            "end": {
97              "line": 28,
98              "column": 2
99            }
100          }
101        },
102        "body": [
103          {
104            "type": "ClassProperty",
105            "key": {
106              "type": "Identifier",
107              "name": "prop",
108              "loc": {
109                "start": {
110                  "line": 18,
111                  "column": 10
112                },
113                "end": {
114                  "line": 18,
115                  "column": 14
116                }
117              }
118            },
119            "value": {
120              "type": "NumberLiteral",
121              "value": 1,
122              "loc": {
123                "start": {
124                  "line": 18,
125                  "column": 25
126                },
127                "end": {
128                  "line": 18,
129                  "column": 26
130                }
131              }
132            },
133            "static": true,
134            "readonly": false,
135            "declare": false,
136            "optional": false,
137            "computed": false,
138            "typeAnnotation": {
139              "type": "TSNumberKeyword",
140              "loc": {
141                "start": {
142                  "line": 18,
143                  "column": 16
144                },
145                "end": {
146                  "line": 18,
147                  "column": 22
148                }
149              }
150            },
151            "decorators": [],
152            "loc": {
153              "start": {
154                "line": 18,
155                "column": 3
156              },
157              "end": {
158                "line": 18,
159                "column": 26
160              }
161            }
162          },
163          {
164            "type": "ClassStaticBlock",
165            "body": {
166              "type": "BlockStatement",
167              "statements": [
168                {
169                  "type": "ExpressionStatement",
170                  "expression": {
171                    "type": "CallExpression",
172                    "callee": {
173                      "type": "Identifier",
174                      "name": "print",
175                      "loc": {
176                        "start": {
177                          "line": 20,
178                          "column": 5
179                        },
180                        "end": {
181                          "line": 20,
182                          "column": 10
183                        }
184                      }
185                    },
186                    "arguments": [
187                      {
188                        "type": "BinaryExpression",
189                        "operator": "+",
190                        "left": {
191                          "type": "StringLiteral",
192                          "value": "hi ",
193                          "loc": {
194                            "start": {
195                              "line": 20,
196                              "column": 11
197                            },
198                            "end": {
199                              "line": 20,
200                              "column": 16
201                            }
202                          }
203                        },
204                        "right": {
205                          "type": "UpdateExpression",
206                          "operator": "++",
207                          "prefix": false,
208                          "argument": {
209                            "type": "MemberExpression",
210                            "object": {
211                              "type": "Identifier",
212                              "name": "MultiFoo",
213                              "loc": {
214                                "start": {
215                                  "line": 20,
216                                  "column": 19
217                                },
218                                "end": {
219                                  "line": 20,
220                                  "column": 27
221                                }
222                              }
223                            },
224                            "property": {
225                              "type": "Identifier",
226                              "name": "prop",
227                              "loc": {
228                                "start": {
229                                  "line": 20,
230                                  "column": 28
231                                },
232                                "end": {
233                                  "line": 20,
234                                  "column": 32
235                                }
236                              }
237                            },
238                            "computed": false,
239                            "optional": false,
240                            "loc": {
241                              "start": {
242                                "line": 20,
243                                "column": 19
244                              },
245                              "end": {
246                                "line": 20,
247                                "column": 32
248                              }
249                            }
250                          },
251                          "loc": {
252                            "start": {
253                              "line": 20,
254                              "column": 19
255                            },
256                            "end": {
257                              "line": 20,
258                              "column": 34
259                            }
260                          }
261                        },
262                        "loc": {
263                          "start": {
264                            "line": 20,
265                            "column": 11
266                          },
267                          "end": {
268                            "line": 20,
269                            "column": 34
270                          }
271                        }
272                      }
273                    ],
274                    "optional": false,
275                    "loc": {
276                      "start": {
277                        "line": 20,
278                        "column": 5
279                      },
280                      "end": {
281                        "line": 20,
282                        "column": 35
283                      }
284                    }
285                  },
286                  "loc": {
287                    "start": {
288                      "line": 20,
289                      "column": 5
290                    },
291                    "end": {
292                      "line": 20,
293                      "column": 36
294                    }
295                  }
296                }
297              ],
298              "loc": {
299                "start": {
300                  "line": 19,
301                  "column": 10
302                },
303                "end": {
304                  "line": 21,
305                  "column": 4
306                }
307              }
308            },
309            "loc": {
310              "start": {
311                "line": 19,
312                "column": 3
313              },
314              "end": {
315                "line": 21,
316                "column": 4
317              }
318            }
319          },
320          {
321            "type": "ClassStaticBlock",
322            "body": {
323              "type": "BlockStatement",
324              "statements": [
325                {
326                  "type": "ExpressionStatement",
327                  "expression": {
328                    "type": "CallExpression",
329                    "callee": {
330                      "type": "Identifier",
331                      "name": "print",
332                      "loc": {
333                        "start": {
334                          "line": 23,
335                          "column": 5
336                        },
337                        "end": {
338                          "line": 23,
339                          "column": 10
340                        }
341                      }
342                    },
343                    "arguments": [
344                      {
345                        "type": "BinaryExpression",
346                        "operator": "+",
347                        "left": {
348                          "type": "StringLiteral",
349                          "value": "hello ",
350                          "loc": {
351                            "start": {
352                              "line": 23,
353                              "column": 11
354                            },
355                            "end": {
356                              "line": 23,
357                              "column": 19
358                            }
359                          }
360                        },
361                        "right": {
362                          "type": "UpdateExpression",
363                          "operator": "++",
364                          "prefix": false,
365                          "argument": {
366                            "type": "MemberExpression",
367                            "object": {
368                              "type": "Identifier",
369                              "name": "MultiFoo",
370                              "loc": {
371                                "start": {
372                                  "line": 23,
373                                  "column": 22
374                                },
375                                "end": {
376                                  "line": 23,
377                                  "column": 30
378                                }
379                              }
380                            },
381                            "property": {
382                              "type": "Identifier",
383                              "name": "prop",
384                              "loc": {
385                                "start": {
386                                  "line": 23,
387                                  "column": 31
388                                },
389                                "end": {
390                                  "line": 23,
391                                  "column": 35
392                                }
393                              }
394                            },
395                            "computed": false,
396                            "optional": false,
397                            "loc": {
398                              "start": {
399                                "line": 23,
400                                "column": 22
401                              },
402                              "end": {
403                                "line": 23,
404                                "column": 35
405                              }
406                            }
407                          },
408                          "loc": {
409                            "start": {
410                              "line": 23,
411                              "column": 22
412                            },
413                            "end": {
414                              "line": 23,
415                              "column": 37
416                            }
417                          }
418                        },
419                        "loc": {
420                          "start": {
421                            "line": 23,
422                            "column": 11
423                          },
424                          "end": {
425                            "line": 23,
426                            "column": 37
427                          }
428                        }
429                      }
430                    ],
431                    "optional": false,
432                    "loc": {
433                      "start": {
434                        "line": 23,
435                        "column": 5
436                      },
437                      "end": {
438                        "line": 23,
439                        "column": 38
440                      }
441                    }
442                  },
443                  "loc": {
444                    "start": {
445                      "line": 23,
446                      "column": 5
447                    },
448                    "end": {
449                      "line": 23,
450                      "column": 39
451                    }
452                  }
453                }
454              ],
455              "loc": {
456                "start": {
457                  "line": 22,
458                  "column": 10
459                },
460                "end": {
461                  "line": 24,
462                  "column": 4
463                }
464              }
465            },
466            "loc": {
467              "start": {
468                "line": 22,
469                "column": 3
470              },
471              "end": {
472                "line": 24,
473                "column": 4
474              }
475            }
476          },
477          {
478            "type": "ClassStaticBlock",
479            "body": {
480              "type": "BlockStatement",
481              "statements": [
482                {
483                  "type": "ExpressionStatement",
484                  "expression": {
485                    "type": "CallExpression",
486                    "callee": {
487                      "type": "Identifier",
488                      "name": "print",
489                      "loc": {
490                        "start": {
491                          "line": 26,
492                          "column": 5
493                        },
494                        "end": {
495                          "line": 26,
496                          "column": 10
497                        }
498                      }
499                    },
500                    "arguments": [
501                      {
502                        "type": "BinaryExpression",
503                        "operator": "+",
504                        "left": {
505                          "type": "StringLiteral",
506                          "value": "world ",
507                          "loc": {
508                            "start": {
509                              "line": 26,
510                              "column": 11
511                            },
512                            "end": {
513                              "line": 26,
514                              "column": 19
515                            }
516                          }
517                        },
518                        "right": {
519                          "type": "UpdateExpression",
520                          "operator": "++",
521                          "prefix": false,
522                          "argument": {
523                            "type": "MemberExpression",
524                            "object": {
525                              "type": "Identifier",
526                              "name": "MultiFoo",
527                              "loc": {
528                                "start": {
529                                  "line": 26,
530                                  "column": 22
531                                },
532                                "end": {
533                                  "line": 26,
534                                  "column": 30
535                                }
536                              }
537                            },
538                            "property": {
539                              "type": "Identifier",
540                              "name": "prop",
541                              "loc": {
542                                "start": {
543                                  "line": 26,
544                                  "column": 31
545                                },
546                                "end": {
547                                  "line": 26,
548                                  "column": 35
549                                }
550                              }
551                            },
552                            "computed": false,
553                            "optional": false,
554                            "loc": {
555                              "start": {
556                                "line": 26,
557                                "column": 22
558                              },
559                              "end": {
560                                "line": 26,
561                                "column": 35
562                              }
563                            }
564                          },
565                          "loc": {
566                            "start": {
567                              "line": 26,
568                              "column": 22
569                            },
570                            "end": {
571                              "line": 26,
572                              "column": 37
573                            }
574                          }
575                        },
576                        "loc": {
577                          "start": {
578                            "line": 26,
579                            "column": 11
580                          },
581                          "end": {
582                            "line": 26,
583                            "column": 37
584                          }
585                        }
586                      }
587                    ],
588                    "optional": false,
589                    "loc": {
590                      "start": {
591                        "line": 26,
592                        "column": 5
593                      },
594                      "end": {
595                        "line": 26,
596                        "column": 38
597                      }
598                    }
599                  },
600                  "loc": {
601                    "start": {
602                      "line": 26,
603                      "column": 5
604                    },
605                    "end": {
606                      "line": 26,
607                      "column": 39
608                    }
609                  }
610                }
611              ],
612              "loc": {
613                "start": {
614                  "line": 25,
615                  "column": 10
616                },
617                "end": {
618                  "line": 27,
619                  "column": 4
620                }
621              }
622            },
623            "loc": {
624              "start": {
625                "line": 25,
626                "column": 3
627              },
628              "end": {
629                "line": 27,
630                "column": 4
631              }
632            }
633          }
634        ],
635        "indexSignatures": [],
636        "loc": {
637          "start": {
638            "line": 17,
639            "column": 16
640          },
641          "end": {
642            "line": 28,
643            "column": 2
644          }
645        }
646      },
647      "decorators": [],
648      "isAnnotationDeclaration": false,
649      "loc": {
650        "start": {
651          "line": 17,
652          "column": 1
653        },
654        "end": {
655          "line": 28,
656          "column": 2
657        }
658      }
659    }
660  ],
661  "loc": {
662    "start": {
663      "line": 1,
664      "column": 1
665    },
666    "end": {
667      "line": 28,
668      "column": 2
669    }
670  }
671}
672