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": "TSUndefinedKeyword",
14              "loc": {
15                "start": {
16                  "line": 17,
17                  "column": 8
18                },
19                "end": {
20                  "line": 17,
21                  "column": 17
22                }
23              }
24            },
25            "decorators": [],
26            "loc": {
27              "start": {
28                "line": 17,
29                "column": 5
30              },
31              "end": {
32                "line": 17,
33                "column": 6
34              }
35            }
36          },
37          "init": {
38            "type": "Identifier",
39            "name": "undefined",
40            "decorators": [],
41            "loc": {
42              "start": {
43                "line": 17,
44                "column": 20
45              },
46              "end": {
47                "line": 17,
48                "column": 29
49              }
50            }
51          },
52          "loc": {
53            "start": {
54              "line": 17,
55              "column": 5
56            },
57            "end": {
58              "line": 17,
59              "column": 29
60            }
61          }
62        }
63      ],
64      "kind": "let",
65      "loc": {
66        "start": {
67          "line": 17,
68          "column": 1
69        },
70        "end": {
71          "line": 17,
72          "column": 30
73        }
74      }
75    },
76    {
77      "type": "VariableDeclaration",
78      "declarations": [
79        {
80          "type": "VariableDeclarator",
81          "id": {
82            "type": "Identifier",
83            "name": "b",
84            "typeAnnotation": {
85              "type": "TSArrayType",
86              "elementType": {
87                "type": "TSUndefinedKeyword",
88                "loc": {
89                  "start": {
90                    "line": 18,
91                    "column": 8
92                  },
93                  "end": {
94                    "line": 18,
95                    "column": 17
96                  }
97                }
98              },
99              "loc": {
100                "start": {
101                  "line": 18,
102                  "column": 8
103                },
104                "end": {
105                  "line": 18,
106                  "column": 19
107                }
108              }
109            },
110            "decorators": [],
111            "loc": {
112              "start": {
113                "line": 18,
114                "column": 5
115              },
116              "end": {
117                "line": 18,
118                "column": 6
119              }
120            }
121          },
122          "init": {
123            "type": "ArrayExpression",
124            "elements": [
125              {
126                "type": "Identifier",
127                "name": "undefined",
128                "decorators": [],
129                "loc": {
130                  "start": {
131                    "line": 18,
132                    "column": 23
133                  },
134                  "end": {
135                    "line": 18,
136                    "column": 32
137                  }
138                }
139              },
140              {
141                "type": "Identifier",
142                "name": "undefined",
143                "decorators": [],
144                "loc": {
145                  "start": {
146                    "line": 18,
147                    "column": 34
148                  },
149                  "end": {
150                    "line": 18,
151                    "column": 43
152                  }
153                }
154              }
155            ],
156            "loc": {
157              "start": {
158                "line": 18,
159                "column": 22
160              },
161              "end": {
162                "line": 18,
163                "column": 44
164              }
165            }
166          },
167          "loc": {
168            "start": {
169              "line": 18,
170              "column": 5
171            },
172            "end": {
173              "line": 18,
174              "column": 44
175            }
176          }
177        }
178      ],
179      "kind": "let",
180      "loc": {
181        "start": {
182          "line": 18,
183          "column": 1
184        },
185        "end": {
186          "line": 18,
187          "column": 45
188        }
189      }
190    },
191    {
192      "type": "VariableDeclaration",
193      "declarations": [
194        {
195          "type": "VariableDeclarator",
196          "id": {
197            "type": "Identifier",
198            "name": "c",
199            "decorators": [],
200            "loc": {
201              "start": {
202                "line": 19,
203                "column": 5
204              },
205              "end": {
206                "line": 19,
207                "column": 6
208              }
209            }
210          },
211          "init": {
212            "type": "ArrayExpression",
213            "elements": [
214              {
215                "type": "Identifier",
216                "name": "undefined",
217                "decorators": [],
218                "loc": {
219                  "start": {
220                    "line": 19,
221                    "column": 10
222                  },
223                  "end": {
224                    "line": 19,
225                    "column": 19
226                  }
227                }
228              },
229              {
230                "type": "Identifier",
231                "name": "undefined",
232                "decorators": [],
233                "loc": {
234                  "start": {
235                    "line": 19,
236                    "column": 21
237                  },
238                  "end": {
239                    "line": 19,
240                    "column": 30
241                  }
242                }
243              },
244              {
245                "type": "Identifier",
246                "name": "undefined",
247                "decorators": [],
248                "loc": {
249                  "start": {
250                    "line": 19,
251                    "column": 32
252                  },
253                  "end": {
254                    "line": 19,
255                    "column": 41
256                  }
257                }
258              }
259            ],
260            "loc": {
261              "start": {
262                "line": 19,
263                "column": 9
264              },
265              "end": {
266                "line": 19,
267                "column": 42
268              }
269            }
270          },
271          "loc": {
272            "start": {
273              "line": 19,
274              "column": 5
275            },
276            "end": {
277              "line": 19,
278              "column": 42
279            }
280          }
281        }
282      ],
283      "kind": "let",
284      "loc": {
285        "start": {
286          "line": 19,
287          "column": 1
288        },
289        "end": {
290          "line": 19,
291          "column": 43
292        }
293      }
294    },
295    {
296      "type": "FunctionDeclaration",
297      "function": {
298        "type": "ScriptFunction",
299        "id": {
300          "type": "Identifier",
301          "name": "foo",
302          "decorators": [],
303          "loc": {
304            "start": {
305              "line": 21,
306              "column": 10
307            },
308            "end": {
309              "line": 21,
310              "column": 13
311            }
312          }
313        },
314        "generator": false,
315        "async": false,
316        "expression": false,
317        "params": [
318          {
319            "type": "Identifier",
320            "name": "a",
321            "typeAnnotation": {
322              "type": "TSUndefinedKeyword",
323              "loc": {
324                "start": {
325                  "line": 21,
326                  "column": 17
327                },
328                "end": {
329                  "line": 21,
330                  "column": 26
331                }
332              }
333            },
334            "decorators": [],
335            "loc": {
336              "start": {
337                "line": 21,
338                "column": 14
339              },
340              "end": {
341                "line": 21,
342                "column": 15
343              }
344            }
345          }
346        ],
347        "returnType": {
348          "type": "TSUndefinedKeyword",
349          "loc": {
350            "start": {
351              "line": 21,
352              "column": 30
353            },
354            "end": {
355              "line": 21,
356              "column": 39
357            }
358          }
359        },
360        "body": {
361          "type": "BlockStatement",
362          "statements": [
363            {
364              "type": "ReturnStatement",
365              "argument": {
366                "type": "Identifier",
367                "name": "undefined",
368                "decorators": [],
369                "loc": {
370                  "start": {
371                    "line": 22,
372                    "column": 10
373                  },
374                  "end": {
375                    "line": 22,
376                    "column": 19
377                  }
378                }
379              },
380              "loc": {
381                "start": {
382                  "line": 22,
383                  "column": 3
384                },
385                "end": {
386                  "line": 22,
387                  "column": 20
388                }
389              }
390            }
391          ],
392          "loc": {
393            "start": {
394              "line": 21,
395              "column": 40
396            },
397            "end": {
398              "line": 23,
399              "column": 2
400            }
401          }
402        },
403        "loc": {
404          "start": {
405            "line": 21,
406            "column": 1
407          },
408          "end": {
409            "line": 23,
410            "column": 2
411          }
412        }
413      },
414      "loc": {
415        "start": {
416          "line": 21,
417          "column": 1
418        },
419        "end": {
420          "line": 23,
421          "column": 2
422        }
423      }
424    },
425    {
426      "type": "ExpressionStatement",
427      "expression": {
428        "type": "CallExpression",
429        "callee": {
430          "type": "Identifier",
431          "name": "foo",
432          "decorators": [],
433          "loc": {
434            "start": {
435              "line": 25,
436              "column": 1
437            },
438            "end": {
439              "line": 25,
440              "column": 4
441            }
442          }
443        },
444        "arguments": [
445          {
446            "type": "Identifier",
447            "name": "undefined",
448            "decorators": [],
449            "loc": {
450              "start": {
451                "line": 25,
452                "column": 5
453              },
454              "end": {
455                "line": 25,
456                "column": 14
457              }
458            }
459          }
460        ],
461        "optional": false,
462        "loc": {
463          "start": {
464            "line": 25,
465            "column": 1
466          },
467          "end": {
468            "line": 25,
469            "column": 15
470          }
471        }
472      },
473      "loc": {
474        "start": {
475          "line": 25,
476          "column": 1
477        },
478        "end": {
479          "line": 25,
480          "column": 16
481        }
482      }
483    }
484  ],
485  "loc": {
486    "start": {
487      "line": 1,
488      "column": 1
489    },
490    "end": {
491      "line": 26,
492      "column": 1
493    }
494  }
495}
496