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