1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ClassDeclaration",
6      "definition": {
7        "id": {
8          "type": "Identifier",
9          "name": "AnotherClass",
10          "loc": {
11            "start": {
12              "line": 17,
13              "column": 7
14            },
15            "end": {
16              "line": 17,
17              "column": 19
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": 21,
98              "column": 2
99            }
100          }
101        },
102        "body": [
103          {
104            "type": "ClassProperty",
105            "key": {
106              "type": "Identifier",
107              "name": "key",
108              "loc": {
109                "start": {
110                  "line": 18,
111                  "column": 5
112                },
113                "end": {
114                  "line": 18,
115                  "column": 8
116                }
117              }
118            },
119            "value": {
120              "type": "ObjectExpression",
121              "properties": [
122                {
123                  "type": "Property",
124                  "method": false,
125                  "shorthand": false,
126                  "computed": false,
127                  "key": {
128                    "type": "Identifier",
129                    "name": "a",
130                    "loc": {
131                      "start": {
132                        "line": 20,
133                        "column": 30
134                      },
135                      "end": {
136                        "line": 20,
137                        "column": 31
138                      }
139                    }
140                  },
141                  "value": {
142                    "type": "StringLiteral",
143                    "value": "text",
144                    "loc": {
145                      "start": {
146                        "line": 20,
147                        "column": 33
148                      },
149                      "end": {
150                        "line": 20,
151                        "column": 39
152                      }
153                    }
154                  },
155                  "kind": "init",
156                  "loc": {
157                    "start": {
158                      "line": 20,
159                      "column": 30
160                    },
161                    "end": {
162                      "line": 20,
163                      "column": 39
164                    }
165                  }
166                },
167                {
168                  "type": "Property",
169                  "method": false,
170                  "shorthand": false,
171                  "computed": false,
172                  "key": {
173                    "type": "Identifier",
174                    "name": "b",
175                    "loc": {
176                      "start": {
177                        "line": 20,
178                        "column": 41
179                      },
180                      "end": {
181                        "line": 20,
182                        "column": 42
183                      }
184                    }
185                  },
186                  "value": {
187                    "type": "NumberLiteral",
188                    "value": 1,
189                    "loc": {
190                      "start": {
191                        "line": 20,
192                        "column": 44
193                      },
194                      "end": {
195                        "line": 20,
196                        "column": 45
197                      }
198                    }
199                  },
200                  "kind": "init",
201                  "loc": {
202                    "start": {
203                      "line": 20,
204                      "column": 41
205                    },
206                    "end": {
207                      "line": 20,
208                      "column": 45
209                    }
210                  }
211                },
212                {
213                  "type": "Property",
214                  "method": false,
215                  "shorthand": false,
216                  "computed": false,
217                  "key": {
218                    "type": "Identifier",
219                    "name": "c",
220                    "loc": {
221                      "start": {
222                        "line": 20,
223                        "column": 47
224                      },
225                      "end": {
226                        "line": 20,
227                        "column": 48
228                      }
229                    }
230                  },
231                  "value": {
232                    "type": "BooleanLiteral",
233                    "value": true,
234                    "loc": {
235                      "start": {
236                        "line": 20,
237                        "column": 50
238                      },
239                      "end": {
240                        "line": 20,
241                        "column": 54
242                      }
243                    }
244                  },
245                  "kind": "init",
246                  "loc": {
247                    "start": {
248                      "line": 20,
249                      "column": 47
250                    },
251                    "end": {
252                      "line": 20,
253                      "column": 54
254                    }
255                  }
256                }
257              ],
258              "loc": {
259                "start": {
260                  "line": 20,
261                  "column": 28
262                },
263                "end": {
264                  "line": 20,
265                  "column": 56
266                }
267              }
268            },
269            "static": false,
270            "readonly": false,
271            "declare": false,
272            "optional": false,
273            "computed": false,
274            "typeAnnotation": {
275              "type": "TSIntersectionType",
276              "types": [
277                {
278                  "type": "TSTypeLiteral",
279                  "members": [
280                    {
281                      "type": "TSPropertySignature",
282                      "computed": false,
283                      "optional": false,
284                      "readonly": false,
285                      "key": {
286                        "type": "Identifier",
287                        "name": "a",
288                        "loc": {
289                          "start": {
290                            "line": 18,
291                            "column": 12
292                          },
293                          "end": {
294                            "line": 18,
295                            "column": 13
296                          }
297                        }
298                      },
299                      "typeAnnotation": {
300                        "type": "TSStringKeyword",
301                        "loc": {
302                          "start": {
303                            "line": 18,
304                            "column": 15
305                          },
306                          "end": {
307                            "line": 18,
308                            "column": 21
309                          }
310                        }
311                      },
312                      "loc": {
313                        "start": {
314                          "line": 18,
315                          "column": 12
316                        },
317                        "end": {
318                          "line": 18,
319                          "column": 23
320                        }
321                      }
322                    }
323                  ],
324                  "loc": {
325                    "start": {
326                      "line": 18,
327                      "column": 10
328                    },
329                    "end": {
330                      "line": 18,
331                      "column": 23
332                    }
333                  }
334                },
335                {
336                  "type": "TSTypeLiteral",
337                  "members": [
338                    {
339                      "type": "TSPropertySignature",
340                      "computed": false,
341                      "optional": false,
342                      "readonly": false,
343                      "key": {
344                        "type": "Identifier",
345                        "name": "b",
346                        "loc": {
347                          "start": {
348                            "line": 19,
349                            "column": 13
350                          },
351                          "end": {
352                            "line": 19,
353                            "column": 14
354                          }
355                        }
356                      },
357                      "typeAnnotation": {
358                        "type": "TSNumberKeyword",
359                        "loc": {
360                          "start": {
361                            "line": 19,
362                            "column": 16
363                          },
364                          "end": {
365                            "line": 19,
366                            "column": 22
367                          }
368                        }
369                      },
370                      "loc": {
371                        "start": {
372                          "line": 19,
373                          "column": 13
374                        },
375                        "end": {
376                          "line": 19,
377                          "column": 24
378                        }
379                      }
380                    }
381                  ],
382                  "loc": {
383                    "start": {
384                      "line": 19,
385                      "column": 11
386                    },
387                    "end": {
388                      "line": 19,
389                      "column": 24
390                    }
391                  }
392                },
393                {
394                  "type": "TSTypeLiteral",
395                  "members": [
396                    {
397                      "type": "TSPropertySignature",
398                      "computed": false,
399                      "optional": false,
400                      "readonly": false,
401                      "key": {
402                        "type": "Identifier",
403                        "name": "c",
404                        "loc": {
405                          "start": {
406                            "line": 20,
407                            "column": 13
408                          },
409                          "end": {
410                            "line": 20,
411                            "column": 14
412                          }
413                        }
414                      },
415                      "typeAnnotation": {
416                        "type": "TSBooleanKeyword",
417                        "loc": {
418                          "start": {
419                            "line": 20,
420                            "column": 16
421                          },
422                          "end": {
423                            "line": 20,
424                            "column": 23
425                          }
426                        }
427                      },
428                      "loc": {
429                        "start": {
430                          "line": 20,
431                          "column": 13
432                        },
433                        "end": {
434                          "line": 20,
435                          "column": 25
436                        }
437                      }
438                    }
439                  ],
440                  "loc": {
441                    "start": {
442                      "line": 20,
443                      "column": 11
444                    },
445                    "end": {
446                      "line": 20,
447                      "column": 25
448                    }
449                  }
450                }
451              ],
452              "loc": {
453                "start": {
454                  "line": 18,
455                  "column": 10
456                },
457                "end": {
458                  "line": 20,
459                  "column": 25
460                }
461              }
462            },
463            "decorators": [],
464            "loc": {
465              "start": {
466                "line": 18,
467                "column": 5
468              },
469              "end": {
470                "line": 20,
471                "column": 56
472              }
473            }
474          }
475        ],
476        "indexSignatures": [],
477        "loc": {
478          "start": {
479            "line": 17,
480            "column": 20
481          },
482          "end": {
483            "line": 21,
484            "column": 2
485          }
486        }
487      },
488      "decorators": [],
489      "isAnnotationDeclaration": false,
490      "loc": {
491        "start": {
492          "line": 17,
493          "column": 1
494        },
495        "end": {
496          "line": 21,
497          "column": 2
498        }
499      }
500    }
501  ],
502  "loc": {
503    "start": {
504      "line": 1,
505      "column": 1
506    },
507    "end": {
508      "line": 21,
509      "column": 2
510    }
511  }
512}
513