• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "TSInterfaceDeclaration",
6      "body": {
7        "type": "TSInterfaceBody",
8        "body": [],
9        "loc": {
10          "start": {
11            "line": 17,
12            "column": 12
13          },
14          "end": {
15            "line": 17,
16            "column": 14
17          }
18        }
19      },
20      "id": {
21        "type": "Identifier",
22        "name": "I",
23        "loc": {
24          "start": {
25            "line": 17,
26            "column": 11
27          },
28          "end": {
29            "line": 17,
30            "column": 12
31          }
32        }
33      },
34      "extends": [],
35      "loc": {
36        "start": {
37          "line": 17,
38          "column": 1
39        },
40        "end": {
41          "line": 17,
42          "column": 14
43        }
44      }
45    },
46    {
47      "type": "ClassDeclaration",
48      "definition": {
49        "id": {
50          "type": "Identifier",
51          "name": "C",
52          "loc": {
53            "start": {
54              "line": 18,
55              "column": 7
56            },
57            "end": {
58              "line": 18,
59              "column": 8
60            }
61          }
62        },
63        "typeParameters": {
64          "type": "TSTypeParameterDeclaration",
65          "params": [
66            {
67              "type": "TSTypeParameter",
68              "name": {
69                "type": "Identifier",
70                "name": "T",
71                "loc": {
72                  "start": {
73                    "line": 18,
74                    "column": 9
75                  },
76                  "end": {
77                    "line": 18,
78                    "column": 10
79                  }
80                }
81              },
82              "loc": {
83                "start": {
84                  "line": 18,
85                  "column": 9
86                },
87                "end": {
88                  "line": 18,
89                  "column": 11
90                }
91              }
92            }
93          ],
94          "loc": {
95            "start": {
96              "line": 18,
97              "column": 8
98            },
99            "end": {
100              "line": 18,
101              "column": 11
102            }
103          }
104        },
105        "superClass": null,
106        "implements": [
107          {
108            "type": "TSClassImplements",
109            "expression": {
110              "type": "Identifier",
111              "name": "I",
112              "loc": {
113                "start": {
114                  "line": 18,
115                  "column": 23
116                },
117                "end": {
118                  "line": 18,
119                  "column": 24
120                }
121              }
122            },
123            "loc": {
124              "start": {
125                "line": 18,
126                "column": 23
127              },
128              "end": {
129                "line": 18,
130                "column": 26
131              }
132            }
133          }
134        ],
135        "constructor": {
136          "type": "MethodDefinition",
137          "key": {
138            "type": "Identifier",
139            "name": "constructor",
140            "loc": {
141              "start": {
142                "line": 1,
143                "column": 1
144              },
145              "end": {
146                "line": 1,
147                "column": 1
148              }
149            }
150          },
151          "kind": "constructor",
152          "static": false,
153          "optional": false,
154          "computed": false,
155          "value": {
156            "type": "FunctionExpression",
157            "function": {
158              "type": "ScriptFunction",
159              "id": null,
160              "generator": false,
161              "async": false,
162              "expression": false,
163              "params": [],
164              "body": {
165                "type": "BlockStatement",
166                "statements": [],
167                "loc": {
168                  "start": {
169                    "line": 1,
170                    "column": 1
171                  },
172                  "end": {
173                    "line": 1,
174                    "column": 1
175                  }
176                }
177              },
178              "loc": {
179                "start": {
180                  "line": 1,
181                  "column": 1
182                },
183                "end": {
184                  "line": 1,
185                  "column": 1
186                }
187              }
188            },
189            "loc": {
190              "start": {
191                "line": 1,
192                "column": 1
193              },
194              "end": {
195                "line": 1,
196                "column": 1
197              }
198            }
199          },
200          "overloads": [],
201          "decorators": [],
202          "loc": {
203            "start": {
204              "line": 18,
205              "column": 1
206            },
207            "end": {
208              "line": 20,
209              "column": 2
210            }
211          }
212        },
213        "body": [],
214        "indexSignatures": [
215          {
216            "type": "TSIndexSignature",
217            "parameters": {
218              "type": "Identifier",
219              "name": "a",
220              "typeAnnotation": {
221                "type": "TSNumberKeyword",
222                "loc": {
223                  "start": {
224                    "line": 19,
225                    "column": 6
226                  },
227                  "end": {
228                    "line": 19,
229                    "column": 12
230                  }
231                }
232              },
233              "loc": {
234                "start": {
235                  "line": 19,
236                  "column": 4
237                },
238                "end": {
239                  "line": 19,
240                  "column": 5
241                }
242              }
243            },
244            "typeAnnotation": {
245              "type": "TSTypeReference",
246              "typeName": {
247                "type": "Identifier",
248                "name": "T",
249                "loc": {
250                  "start": {
251                    "line": 19,
252                    "column": 14
253                  },
254                  "end": {
255                    "line": 19,
256                    "column": 15
257                  }
258                }
259              },
260              "loc": {
261                "start": {
262                  "line": 19,
263                  "column": 14
264                },
265                "end": {
266                  "line": 19,
267                  "column": 15
268                }
269              }
270            },
271            "readonly": false,
272            "loc": {
273              "start": {
274                "line": 19,
275                "column": 4
276              },
277              "end": {
278                "line": 19,
279                "column": 15
280              }
281            }
282          }
283        ],
284        "loc": {
285          "start": {
286            "line": 18,
287            "column": 25
288          },
289          "end": {
290            "line": 20,
291            "column": 2
292          }
293        }
294      },
295      "decorators": [],
296      "loc": {
297        "start": {
298          "line": 18,
299          "column": 1
300        },
301        "end": {
302          "line": 20,
303          "column": 2
304        }
305      }
306    },
307    {
308      "type": "ClassDeclaration",
309      "definition": {
310        "id": {
311          "type": "Identifier",
312          "name": "D",
313          "loc": {
314            "start": {
315              "line": 21,
316              "column": 7
317            },
318            "end": {
319              "line": 21,
320              "column": 8
321            }
322          }
323        },
324        "typeParameters": {
325          "type": "TSTypeParameterDeclaration",
326          "params": [
327            {
328              "type": "TSTypeParameter",
329              "name": {
330                "type": "Identifier",
331                "name": "T",
332                "loc": {
333                  "start": {
334                    "line": 21,
335                    "column": 9
336                  },
337                  "end": {
338                    "line": 21,
339                    "column": 10
340                  }
341                }
342              },
343              "loc": {
344                "start": {
345                  "line": 21,
346                  "column": 9
347                },
348                "end": {
349                  "line": 21,
350                  "column": 11
351                }
352              }
353            }
354          ],
355          "loc": {
356            "start": {
357              "line": 21,
358              "column": 8
359            },
360            "end": {
361              "line": 21,
362              "column": 11
363            }
364          }
365        },
366        "superClass": {
367          "type": "Identifier",
368          "name": "C",
369          "loc": {
370            "start": {
371              "line": 21,
372              "column": 20
373            },
374            "end": {
375              "line": 21,
376              "column": 21
377            }
378          }
379        },
380        "superTypeParameters": {
381          "type": "TSTypeParameterInstantiation",
382          "params": [
383            {
384              "type": "TSTypeReference",
385              "typeName": {
386                "type": "Identifier",
387                "name": "T",
388                "loc": {
389                  "start": {
390                    "line": 21,
391                    "column": 22
392                  },
393                  "end": {
394                    "line": 21,
395                    "column": 23
396                  }
397                }
398              },
399              "loc": {
400                "start": {
401                  "line": 21,
402                  "column": 22
403                },
404                "end": {
405                  "line": 21,
406                  "column": 23
407                }
408              }
409            }
410          ],
411          "loc": {
412            "start": {
413              "line": 21,
414              "column": 21
415            },
416            "end": {
417              "line": 21,
418              "column": 24
419            }
420          }
421        },
422        "implements": [],
423        "constructor": {
424          "type": "MethodDefinition",
425          "key": {
426            "type": "Identifier",
427            "name": "constructor",
428            "loc": {
429              "start": {
430                "line": 1,
431                "column": 1
432              },
433              "end": {
434                "line": 1,
435                "column": 1
436              }
437            }
438          },
439          "kind": "constructor",
440          "static": false,
441          "optional": false,
442          "computed": false,
443          "value": {
444            "type": "FunctionExpression",
445            "function": {
446              "type": "ScriptFunction",
447              "id": null,
448              "generator": false,
449              "async": false,
450              "expression": false,
451              "params": [
452                {
453                  "type": "RestElement",
454                  "argument": {
455                    "type": "Identifier",
456                    "name": "args",
457                    "loc": {
458                      "start": {
459                        "line": 1,
460                        "column": 1
461                      },
462                      "end": {
463                        "line": 1,
464                        "column": 1
465                      }
466                    }
467                  },
468                  "loc": {
469                    "start": {
470                      "line": 1,
471                      "column": 1
472                    },
473                    "end": {
474                      "line": 1,
475                      "column": 1
476                    }
477                  }
478                }
479              ],
480              "body": {
481                "type": "BlockStatement",
482                "statements": [
483                  {
484                    "type": "ExpressionStatement",
485                    "expression": {
486                      "type": "CallExpression",
487                      "callee": {
488                        "type": "Super",
489                        "loc": {
490                          "start": {
491                            "line": 1,
492                            "column": 1
493                          },
494                          "end": {
495                            "line": 1,
496                            "column": 1
497                          }
498                        }
499                      },
500                      "arguments": [
501                        {
502                          "type": "SpreadElement",
503                          "argument": {
504                            "type": "Identifier",
505                            "name": "args",
506                            "loc": {
507                              "start": {
508                                "line": 1,
509                                "column": 1
510                              },
511                              "end": {
512                                "line": 1,
513                                "column": 1
514                              }
515                            }
516                          },
517                          "loc": {
518                            "start": {
519                              "line": 1,
520                              "column": 1
521                            },
522                            "end": {
523                              "line": 1,
524                              "column": 1
525                            }
526                          }
527                        }
528                      ],
529                      "optional": false,
530                      "loc": {
531                        "start": {
532                          "line": 1,
533                          "column": 1
534                        },
535                        "end": {
536                          "line": 1,
537                          "column": 1
538                        }
539                      }
540                    },
541                    "loc": {
542                      "start": {
543                        "line": 1,
544                        "column": 1
545                      },
546                      "end": {
547                        "line": 1,
548                        "column": 1
549                      }
550                    }
551                  }
552                ],
553                "loc": {
554                  "start": {
555                    "line": 1,
556                    "column": 1
557                  },
558                  "end": {
559                    "line": 1,
560                    "column": 1
561                  }
562                }
563              },
564              "loc": {
565                "start": {
566                  "line": 1,
567                  "column": 1
568                },
569                "end": {
570                  "line": 1,
571                  "column": 1
572                }
573              }
574            },
575            "loc": {
576              "start": {
577                "line": 1,
578                "column": 1
579              },
580              "end": {
581                "line": 1,
582                "column": 1
583              }
584            }
585          },
586          "overloads": [],
587          "decorators": [],
588          "loc": {
589            "start": {
590              "line": 21,
591              "column": 1
592            },
593            "end": {
594              "line": 22,
595              "column": 2
596            }
597          }
598        },
599        "body": [],
600        "indexSignatures": [],
601        "loc": {
602          "start": {
603            "line": 21,
604            "column": 25
605          },
606          "end": {
607            "line": 22,
608            "column": 2
609          }
610        }
611      },
612      "decorators": [],
613      "loc": {
614        "start": {
615          "line": 21,
616          "column": 1
617        },
618        "end": {
619          "line": 22,
620          "column": 2
621        }
622      }
623    }
624  ],
625  "loc": {
626    "start": {
627      "line": 1,
628      "column": 1
629    },
630    "end": {
631      "line": 23,
632      "column": 1
633    }
634  }
635}
636