1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ClassDeclaration",
6      "definition": {
7        "id": {
8          "type": "Identifier",
9          "name": "B",
10          "loc": {
11            "start": {
12              "line": 17,
13              "column": 7
14            },
15            "end": {
16              "line": 17,
17              "column": 8
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": 20,
98              "column": 2
99            }
100          }
101        },
102        "body": [
103          {
104            "type": "ClassProperty",
105            "key": {
106              "type": "Identifier",
107              "name": "a",
108              "loc": {
109                "start": {
110                  "line": 18,
111                  "column": 5
112                },
113                "end": {
114                  "line": 18,
115                  "column": 6
116                }
117              }
118            },
119            "value": {
120              "type": "Identifier",
121              "name": "undefined",
122              "loc": {
123                "start": {
124                  "line": 19,
125                  "column": 19
126                },
127                "end": {
128                  "line": 19,
129                  "column": 28
130                }
131              }
132            },
133            "static": false,
134            "readonly": false,
135            "declare": false,
136            "optional": false,
137            "computed": false,
138            "typeAnnotation": {
139              "type": "TSUnionType",
140              "types": [
141                {
142                  "type": "TSStringKeyword",
143                  "loc": {
144                    "start": {
145                      "line": 18,
146                      "column": 8
147                    },
148                    "end": {
149                      "line": 18,
150                      "column": 14
151                    }
152                  }
153                },
154                {
155                  "type": "TSUndefinedKeyword",
156                  "loc": {
157                    "start": {
158                      "line": 19,
159                      "column": 7
160                    },
161                    "end": {
162                      "line": 19,
163                      "column": 16
164                    }
165                  }
166                }
167              ],
168              "loc": {
169                "start": {
170                  "line": 18,
171                  "column": 8
172                },
173                "end": {
174                  "line": 19,
175                  "column": 16
176                }
177              }
178            },
179            "decorators": [],
180            "loc": {
181              "start": {
182                "line": 18,
183                "column": 5
184              },
185              "end": {
186                "line": 19,
187                "column": 28
188              }
189            }
190          }
191        ],
192        "indexSignatures": [],
193        "loc": {
194          "start": {
195            "line": 17,
196            "column": 9
197          },
198          "end": {
199            "line": 20,
200            "column": 2
201          }
202        }
203      },
204      "decorators": [],
205      "isAnnotationDeclaration": false,
206      "loc": {
207        "start": {
208          "line": 17,
209          "column": 1
210        },
211        "end": {
212          "line": 20,
213          "column": 2
214        }
215      }
216    }
217  ],
218  "loc": {
219    "start": {
220      "line": 1,
221      "column": 1
222    },
223    "end": {
224      "line": 20,
225      "column": 2
226    }
227  }
228}
229