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