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