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