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            "typeAnnotation": {
13              "type": "TSStringKeyword",
14              "loc": {
15                "start": {
16                  "line": 17,
17                  "column": 8
18                },
19                "end": {
20                  "line": 17,
21                  "column": 14
22                }
23              }
24            },
25            "loc": {
26              "start": {
27                "line": 17,
28                "column": 5
29              },
30              "end": {
31                "line": 17,
32                "column": 6
33              }
34            }
35          },
36          "init": {
37            "type": "StringLiteral",
38            "value": "1",
39            "loc": {
40              "start": {
41                "line": 17,
42                "column": 17
43              },
44              "end": {
45                "line": 17,
46                "column": 20
47              }
48            }
49          },
50          "loc": {
51            "start": {
52              "line": 17,
53              "column": 5
54            },
55            "end": {
56              "line": 17,
57              "column": 20
58            }
59          }
60        }
61      ],
62      "kind": "var",
63      "loc": {
64        "start": {
65          "line": 17,
66          "column": 1
67        },
68        "end": {
69          "line": 17,
70          "column": 21
71        }
72      }
73    },
74    {
75      "type": "SwitchStatement",
76      "discriminant": {
77        "type": "Identifier",
78        "name": "a",
79        "loc": {
80          "start": {
81            "line": 18,
82            "column": 9
83          },
84          "end": {
85            "line": 18,
86            "column": 10
87          }
88        }
89      },
90      "cases": [
91        {
92          "type": "SwitchCase",
93          "test": {
94            "type": "StringLiteral",
95            "value": "1",
96            "loc": {
97              "start": {
98                "line": 19,
99                "column": 10
100              },
101              "end": {
102                "line": 19,
103                "column": 13
104              }
105            }
106          },
107          "consequent": [
108            {
109              "type": "ClassDeclaration",
110              "definition": {
111                "id": {
112                  "type": "Identifier",
113                  "name": "C",
114                  "loc": {
115                    "start": {
116                      "line": 20,
117                      "column": 15
118                    },
119                    "end": {
120                      "line": 20,
121                      "column": 16
122                    }
123                  }
124                },
125                "superClass": null,
126                "implements": [],
127                "constructor": {
128                  "type": "MethodDefinition",
129                  "key": {
130                    "type": "Identifier",
131                    "name": "constructor",
132                    "loc": {
133                      "start": {
134                        "line": 1,
135                        "column": 1
136                      },
137                      "end": {
138                        "line": 1,
139                        "column": 1
140                      }
141                    }
142                  },
143                  "kind": "constructor",
144                  "static": false,
145                  "optional": false,
146                  "computed": false,
147                  "value": {
148                    "type": "FunctionExpression",
149                    "function": {
150                      "type": "ScriptFunction",
151                      "id": null,
152                      "generator": false,
153                      "async": false,
154                      "expression": false,
155                      "params": [],
156                      "body": {
157                        "type": "BlockStatement",
158                        "statements": [],
159                        "loc": {
160                          "start": {
161                            "line": 1,
162                            "column": 1
163                          },
164                          "end": {
165                            "line": 1,
166                            "column": 1
167                          }
168                        }
169                      },
170                      "loc": {
171                        "start": {
172                          "line": 1,
173                          "column": 1
174                        },
175                        "end": {
176                          "line": 1,
177                          "column": 1
178                        }
179                      }
180                    },
181                    "loc": {
182                      "start": {
183                        "line": 1,
184                        "column": 1
185                      },
186                      "end": {
187                        "line": 1,
188                        "column": 1
189                      }
190                    }
191                  },
192                  "overloads": [],
193                  "decorators": [],
194                  "annotations": [],
195                  "loc": {
196                    "start": {
197                      "line": 20,
198                      "column": 9
199                    },
200                    "end": {
201                      "line": 20,
202                      "column": 37
203                    }
204                  }
205                },
206                "body": [
207                  {
208                    "type": "ClassProperty",
209                    "key": {
210                      "type": "Identifier",
211                      "name": "p",
212                      "loc": {
213                        "start": {
214                          "line": 20,
215                          "column": 26
216                        },
217                        "end": {
218                          "line": 20,
219                          "column": 27
220                        }
221                      }
222                    },
223                    "value": {
224                      "type": "StringLiteral",
225                      "value": "str",
226                      "loc": {
227                        "start": {
228                          "line": 20,
229                          "column": 30
230                        },
231                        "end": {
232                          "line": 20,
233                          "column": 35
234                        }
235                      }
236                    },
237                    "static": true,
238                    "readonly": false,
239                    "declare": false,
240                    "optional": false,
241                    "computed": false,
242                    "decorators": [],
243                    "loc": {
244                      "start": {
245                        "line": 20,
246                        "column": 19
247                      },
248                      "end": {
249                        "line": 20,
250                        "column": 35
251                      }
252                    }
253                  }
254                ],
255                "indexSignatures": [],
256                "loc": {
257                  "start": {
258                    "line": 20,
259                    "column": 17
260                  },
261                  "end": {
262                    "line": 20,
263                    "column": 37
264                  }
265                }
266              },
267              "decorators": [],
268              "isAnnotationDeclaration": false,
269              "loc": {
270                "start": {
271                  "line": 20,
272                  "column": 9
273                },
274                "end": {
275                  "line": 20,
276                  "column": 37
277                }
278              }
279            }
280          ],
281          "loc": {
282            "start": {
283              "line": 19,
284              "column": 5
285            },
286            "end": {
287              "line": 20,
288              "column": 37
289            }
290          }
291        }
292      ],
293      "loc": {
294        "start": {
295          "line": 18,
296          "column": 1
297        },
298        "end": {
299          "line": 21,
300          "column": 2
301        }
302      }
303    }
304  ],
305  "loc": {
306    "start": {
307      "line": 1,
308      "column": 1
309    },
310    "end": {
311      "line": 22,
312      "column": 1
313    }
314  }
315}
316Transformed AST structure check passed.
317