• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "TSInterfaceDeclaration",
6      "body": {
7        "type": "TSInterfaceBody",
8        "body": [
9          {
10            "type": "MethodDefinition",
11            "key": {
12              "type": "Identifier",
13              "name": "foo",
14              "decorators": [],
15              "loc": {
16                "start": {
17                  "line": 17,
18                  "column": 5
19                },
20                "end": {
21                  "line": 17,
22                  "column": 8
23                }
24              }
25            },
26            "kind": "method",
27            "accessibility": "public",
28            "static": false,
29            "optional": false,
30            "computed": false,
31            "value": {
32              "type": "FunctionExpression",
33              "function": {
34                "type": "ScriptFunction",
35                "id": {
36                  "type": "Identifier",
37                  "name": "foo",
38                  "decorators": [],
39                  "loc": {
40                    "start": {
41                      "line": 17,
42                      "column": 5
43                    },
44                    "end": {
45                      "line": 17,
46                      "column": 8
47                    }
48                  }
49                },
50                "generator": false,
51                "async": false,
52                "expression": false,
53                "params": [
54                  {
55                    "type": "ETSParameterExpression",
56                    "name": {
57                      "type": "Identifier",
58                      "name": "a0",
59                      "typeAnnotation": {
60                        "type": "ETSTypeReference",
61                        "part": {
62                          "type": "ETSTypeReferencePart",
63                          "name": {
64                            "type": "Identifier",
65                            "name": "T",
66                            "decorators": [],
67                            "loc": {
68                              "start": {
69                                "line": 17,
70                                "column": 13
71                              },
72                              "end": {
73                                "line": 17,
74                                "column": 14
75                              }
76                            }
77                          },
78                          "loc": {
79                            "start": {
80                              "line": 17,
81                              "column": 13
82                            },
83                            "end": {
84                              "line": 17,
85                              "column": 15
86                            }
87                          }
88                        },
89                        "loc": {
90                          "start": {
91                            "line": 17,
92                            "column": 13
93                          },
94                          "end": {
95                            "line": 17,
96                            "column": 15
97                          }
98                        }
99                      },
100                      "decorators": [],
101                      "loc": {
102                        "start": {
103                          "line": 17,
104                          "column": 9
105                        },
106                        "end": {
107                          "line": 17,
108                          "column": 15
109                        }
110                      }
111                    },
112                    "loc": {
113                      "start": {
114                        "line": 17,
115                        "column": 9
116                      },
117                      "end": {
118                        "line": 17,
119                        "column": 15
120                      }
121                    }
122                  }
123                ],
124                "returnType": {
125                  "type": "ETSPrimitiveType",
126                  "loc": {
127                    "start": {
128                      "line": 17,
129                      "column": 17
130                    },
131                    "end": {
132                      "line": 17,
133                      "column": 21
134                    }
135                  }
136                },
137                "declare": true,
138                "loc": {
139                  "start": {
140                    "line": 17,
141                    "column": 8
142                  },
143                  "end": {
144                    "line": 17,
145                    "column": 21
146                  }
147                }
148              },
149              "loc": {
150                "start": {
151                  "line": 17,
152                  "column": 8
153                },
154                "end": {
155                  "line": 17,
156                  "column": 21
157                }
158              }
159            },
160            "overloads": [],
161            "decorators": [],
162            "loc": {
163              "start": {
164                "line": 17,
165                "column": 5
166              },
167              "end": {
168                "line": 17,
169                "column": 22
170              }
171            }
172          }
173        ],
174        "loc": {
175          "start": {
176            "line": 16,
177            "column": 15
178          },
179          "end": {
180            "line": 18,
181            "column": 2
182          }
183        }
184      },
185      "id": {
186        "type": "Identifier",
187        "name": "A",
188        "decorators": [],
189        "loc": {
190          "start": {
191            "line": 16,
192            "column": 11
193          },
194          "end": {
195            "line": 16,
196            "column": 12
197          }
198        }
199      },
200      "extends": [],
201      "typeParameters": {
202        "type": "TSTypeParameterDeclaration",
203        "params": [
204          {
205            "type": "TSTypeParameter",
206            "name": {
207              "type": "Identifier",
208              "name": "T",
209              "decorators": [],
210              "loc": {
211                "start": {
212                  "line": 16,
213                  "column": 13
214                },
215                "end": {
216                  "line": 16,
217                  "column": 14
218                }
219              }
220            },
221            "loc": {
222              "start": {
223                "line": 16,
224                "column": 13
225              },
226              "end": {
227                "line": 16,
228                "column": 15
229              }
230            }
231          }
232        ],
233        "loc": {
234          "start": {
235            "line": 16,
236            "column": 12
237          },
238          "end": {
239            "line": 16,
240            "column": 15
241          }
242        }
243      },
244      "loc": {
245        "start": {
246          "line": 16,
247          "column": 1
248        },
249        "end": {
250          "line": 20,
251          "column": 6
252        }
253      }
254    },
255    {
256      "type": "ClassDeclaration",
257      "definition": {
258        "id": {
259          "type": "Identifier",
260          "name": "B",
261          "decorators": [],
262          "loc": {
263            "start": {
264              "line": 20,
265              "column": 7
266            },
267            "end": {
268              "line": 20,
269              "column": 8
270            }
271          }
272        },
273        "typeParameters": {
274          "type": "TSTypeParameterDeclaration",
275          "params": [
276            {
277              "type": "TSTypeParameter",
278              "name": {
279                "type": "Identifier",
280                "name": "U",
281                "decorators": [],
282                "loc": {
283                  "start": {
284                    "line": 20,
285                    "column": 9
286                  },
287                  "end": {
288                    "line": 20,
289                    "column": 10
290                  }
291                }
292              },
293              "constraint": {
294                "type": "ETSTypeReference",
295                "part": {
296                  "type": "ETSTypeReferencePart",
297                  "name": {
298                    "type": "Identifier",
299                    "name": "A",
300                    "decorators": [],
301                    "loc": {
302                      "start": {
303                        "line": 20,
304                        "column": 19
305                      },
306                      "end": {
307                        "line": 20,
308                        "column": 20
309                      }
310                    }
311                  },
312                  "typeParams": {
313                    "type": "TSTypeParameterInstantiation",
314                    "params": [
315                      {
316                        "type": "ETSTypeReference",
317                        "part": {
318                          "type": "ETSTypeReferencePart",
319                          "name": {
320                            "type": "Identifier",
321                            "name": "Object",
322                            "decorators": [],
323                            "loc": {
324                              "start": {
325                                "line": 20,
326                                "column": 21
327                              },
328                              "end": {
329                                "line": 20,
330                                "column": 27
331                              }
332                            }
333                          },
334                          "loc": {
335                            "start": {
336                              "line": 20,
337                              "column": 21
338                            },
339                            "end": {
340                              "line": 20,
341                              "column": 29
342                            }
343                          }
344                        },
345                        "loc": {
346                          "start": {
347                            "line": 20,
348                            "column": 21
349                          },
350                          "end": {
351                            "line": 20,
352                            "column": 29
353                          }
354                        }
355                      }
356                    ],
357                    "loc": {
358                      "start": {
359                        "line": 20,
360                        "column": 20
361                      },
362                      "end": {
363                        "line": 20,
364                        "column": 29
365                      }
366                    }
367                  },
368                  "loc": {
369                    "start": {
370                      "line": 20,
371                      "column": 19
372                    },
373                    "end": {
374                      "line": 20,
375                      "column": 29
376                    }
377                  }
378                },
379                "loc": {
380                  "start": {
381                    "line": 20,
382                    "column": 19
383                  },
384                  "end": {
385                    "line": 20,
386                    "column": 29
387                  }
388                }
389              },
390              "loc": {
391                "start": {
392                  "line": 20,
393                  "column": 9
394                },
395                "end": {
396                  "line": 20,
397                  "column": 29
398                }
399              }
400            }
401          ],
402          "loc": {
403            "start": {
404              "line": 20,
405              "column": 8
406            },
407            "end": {
408              "line": 20,
409              "column": 29
410            }
411          }
412        },
413        "superClass": null,
414        "implements": [],
415        "body": [
416          {
417            "type": "ClassProperty",
418            "key": {
419              "type": "Identifier",
420              "name": "my_var",
421              "decorators": [],
422              "loc": {
423                "start": {
424                  "line": 21,
425                  "column": 13
426                },
427                "end": {
428                  "line": 21,
429                  "column": 19
430                }
431              }
432            },
433            "accessibility": "private",
434            "static": false,
435            "readonly": false,
436            "declare": false,
437            "optional": false,
438            "computed": false,
439            "typeAnnotation": {
440              "type": "ETSTypeReference",
441              "part": {
442                "type": "ETSTypeReferencePart",
443                "name": {
444                  "type": "Identifier",
445                  "name": "U",
446                  "decorators": [],
447                  "loc": {
448                    "start": {
449                      "line": 21,
450                      "column": 21
451                    },
452                    "end": {
453                      "line": 21,
454                      "column": 22
455                    }
456                  }
457                },
458                "loc": {
459                  "start": {
460                    "line": 21,
461                    "column": 21
462                  },
463                  "end": {
464                    "line": 21,
465                    "column": 23
466                  }
467                }
468              },
469              "loc": {
470                "start": {
471                  "line": 21,
472                  "column": 21
473                },
474                "end": {
475                  "line": 21,
476                  "column": 23
477                }
478              }
479            },
480            "definite": false,
481            "decorators": [],
482            "loc": {
483              "start": {
484                "line": 21,
485                "column": 13
486              },
487              "end": {
488                "line": 21,
489                "column": 23
490              }
491            }
492          },
493          {
494            "type": "MethodDefinition",
495            "key": {
496              "type": "Identifier",
497              "name": "bar",
498              "decorators": [],
499              "loc": {
500                "start": {
501                  "line": 23,
502                  "column": 5
503                },
504                "end": {
505                  "line": 23,
506                  "column": 8
507                }
508              }
509            },
510            "kind": "method",
511            "accessibility": "public",
512            "static": false,
513            "optional": false,
514            "computed": false,
515            "value": {
516              "type": "FunctionExpression",
517              "function": {
518                "type": "ScriptFunction",
519                "id": {
520                  "type": "Identifier",
521                  "name": "bar",
522                  "decorators": [],
523                  "loc": {
524                    "start": {
525                      "line": 23,
526                      "column": 5
527                    },
528                    "end": {
529                      "line": 23,
530                      "column": 8
531                    }
532                  }
533                },
534                "generator": false,
535                "async": false,
536                "expression": false,
537                "params": [],
538                "returnType": {
539                  "type": "ETSPrimitiveType",
540                  "loc": {
541                    "start": {
542                      "line": 23,
543                      "column": 12
544                    },
545                    "end": {
546                      "line": 23,
547                      "column": 16
548                    }
549                  }
550                },
551                "body": {
552                  "type": "BlockStatement",
553                  "statements": [
554                    {
555                      "type": "VariableDeclaration",
556                      "declarations": [
557                        {
558                          "type": "VariableDeclarator",
559                          "id": {
560                            "type": "Identifier",
561                            "name": "a",
562                            "typeAnnotation": {
563                              "type": "ETSTypeReference",
564                              "part": {
565                                "type": "ETSTypeReferencePart",
566                                "name": {
567                                  "type": "Identifier",
568                                  "name": "Object",
569                                  "decorators": [],
570                                  "loc": {
571                                    "start": {
572                                      "line": 24,
573                                      "column": 16
574                                    },
575                                    "end": {
576                                      "line": 24,
577                                      "column": 22
578                                    }
579                                  }
580                                },
581                                "loc": {
582                                  "start": {
583                                    "line": 24,
584                                    "column": 16
585                                  },
586                                  "end": {
587                                    "line": 24,
588                                    "column": 24
589                                  }
590                                }
591                              },
592                              "loc": {
593                                "start": {
594                                  "line": 24,
595                                  "column": 16
596                                },
597                                "end": {
598                                  "line": 24,
599                                  "column": 24
600                                }
601                              }
602                            },
603                            "decorators": [],
604                            "loc": {
605                              "start": {
606                                "line": 24,
607                                "column": 13
608                              },
609                              "end": {
610                                "line": 24,
611                                "column": 14
612                              }
613                            }
614                          },
615                          "init": {
616                            "type": "MemberExpression",
617                            "object": {
618                              "type": "ThisExpression",
619                              "loc": {
620                                "start": {
621                                  "line": 24,
622                                  "column": 25
623                                },
624                                "end": {
625                                  "line": 24,
626                                  "column": 29
627                                }
628                              }
629                            },
630                            "property": {
631                              "type": "Identifier",
632                              "name": "my_var",
633                              "decorators": [],
634                              "loc": {
635                                "start": {
636                                  "line": 24,
637                                  "column": 30
638                                },
639                                "end": {
640                                  "line": 24,
641                                  "column": 36
642                                }
643                              }
644                            },
645                            "computed": false,
646                            "optional": false,
647                            "loc": {
648                              "start": {
649                                "line": 24,
650                                "column": 25
651                              },
652                              "end": {
653                                "line": 24,
654                                "column": 36
655                              }
656                            }
657                          },
658                          "loc": {
659                            "start": {
660                              "line": 24,
661                              "column": 13
662                            },
663                            "end": {
664                              "line": 24,
665                              "column": 36
666                            }
667                          }
668                        }
669                      ],
670                      "kind": "let",
671                      "loc": {
672                        "start": {
673                          "line": 24,
674                          "column": 9
675                        },
676                        "end": {
677                          "line": 24,
678                          "column": 37
679                        }
680                      }
681                    }
682                  ],
683                  "loc": {
684                    "start": {
685                      "line": 23,
686                      "column": 17
687                    },
688                    "end": {
689                      "line": 25,
690                      "column": 6
691                    }
692                  }
693                },
694                "loc": {
695                  "start": {
696                    "line": 23,
697                    "column": 8
698                  },
699                  "end": {
700                    "line": 25,
701                    "column": 6
702                  }
703                }
704              },
705              "loc": {
706                "start": {
707                  "line": 23,
708                  "column": 8
709                },
710                "end": {
711                  "line": 25,
712                  "column": 6
713                }
714              }
715            },
716            "overloads": [],
717            "decorators": [],
718            "loc": {
719              "start": {
720                "line": 23,
721                "column": 5
722              },
723              "end": {
724                "line": 25,
725                "column": 6
726              }
727            }
728          },
729          {
730            "type": "MethodDefinition",
731            "key": {
732              "type": "Identifier",
733              "name": "constructor",
734              "decorators": [],
735              "loc": {
736                "start": {
737                  "line": 1,
738                  "column": 1
739                },
740                "end": {
741                  "line": 1,
742                  "column": 1
743                }
744              }
745            },
746            "kind": "constructor",
747            "static": false,
748            "optional": false,
749            "computed": false,
750            "value": {
751              "type": "FunctionExpression",
752              "function": {
753                "type": "ScriptFunction",
754                "id": {
755                  "type": "Identifier",
756                  "name": "constructor",
757                  "decorators": [],
758                  "loc": {
759                    "start": {
760                      "line": 1,
761                      "column": 1
762                    },
763                    "end": {
764                      "line": 1,
765                      "column": 1
766                    }
767                  }
768                },
769                "generator": false,
770                "async": false,
771                "expression": false,
772                "params": [],
773                "body": {
774                  "type": "BlockStatement",
775                  "statements": [],
776                  "loc": {
777                    "start": {
778                      "line": 1,
779                      "column": 1
780                    },
781                    "end": {
782                      "line": 1,
783                      "column": 1
784                    }
785                  }
786                },
787                "loc": {
788                  "start": {
789                    "line": 1,
790                    "column": 1
791                  },
792                  "end": {
793                    "line": 1,
794                    "column": 1
795                  }
796                }
797              },
798              "loc": {
799                "start": {
800                  "line": 1,
801                  "column": 1
802                },
803                "end": {
804                  "line": 1,
805                  "column": 1
806                }
807              }
808            },
809            "overloads": [],
810            "decorators": [],
811            "loc": {
812              "start": {
813                "line": 26,
814                "column": 2
815              },
816              "end": {
817                "line": 26,
818                "column": 2
819              }
820            }
821          }
822        ],
823        "loc": {
824          "start": {
825            "line": 20,
826            "column": 29
827          },
828          "end": {
829            "line": 26,
830            "column": 2
831          }
832        }
833      },
834      "loc": {
835        "start": {
836          "line": 20,
837          "column": 1
838        },
839        "end": {
840          "line": 26,
841          "column": 2
842        }
843      }
844    },
845    {
846      "type": "ClassDeclaration",
847      "definition": {
848        "id": {
849          "type": "Identifier",
850          "name": "ETSGLOBAL",
851          "decorators": [],
852          "loc": {
853            "start": {
854              "line": 1,
855              "column": 1
856            },
857            "end": {
858              "line": 1,
859              "column": 1
860            }
861          }
862        },
863        "superClass": null,
864        "implements": [],
865        "body": [
866          {
867            "type": "MethodDefinition",
868            "key": {
869              "type": "Identifier",
870              "name": "_$init$_",
871              "decorators": [],
872              "loc": {
873                "start": {
874                  "line": 1,
875                  "column": 1
876                },
877                "end": {
878                  "line": 1,
879                  "column": 1
880                }
881              }
882            },
883            "kind": "method",
884            "accessibility": "public",
885            "static": true,
886            "optional": false,
887            "computed": false,
888            "value": {
889              "type": "FunctionExpression",
890              "function": {
891                "type": "ScriptFunction",
892                "id": {
893                  "type": "Identifier",
894                  "name": "_$init$_",
895                  "decorators": [],
896                  "loc": {
897                    "start": {
898                      "line": 1,
899                      "column": 1
900                    },
901                    "end": {
902                      "line": 1,
903                      "column": 1
904                    }
905                  }
906                },
907                "generator": false,
908                "async": false,
909                "expression": false,
910                "params": [],
911                "body": {
912                  "type": "BlockStatement",
913                  "statements": [],
914                  "loc": {
915                    "start": {
916                      "line": 1,
917                      "column": 1
918                    },
919                    "end": {
920                      "line": 1,
921                      "column": 1
922                    }
923                  }
924                },
925                "loc": {
926                  "start": {
927                    "line": 1,
928                    "column": 1
929                  },
930                  "end": {
931                    "line": 1,
932                    "column": 1
933                  }
934                }
935              },
936              "loc": {
937                "start": {
938                  "line": 1,
939                  "column": 1
940                },
941                "end": {
942                  "line": 1,
943                  "column": 1
944                }
945              }
946            },
947            "overloads": [],
948            "decorators": [],
949            "loc": {
950              "start": {
951                "line": 1,
952                "column": 1
953              },
954              "end": {
955                "line": 1,
956                "column": 1
957              }
958            }
959          }
960        ],
961        "loc": {
962          "start": {
963            "line": 1,
964            "column": 1
965          },
966          "end": {
967            "line": 1,
968            "column": 1
969          }
970        }
971      },
972      "loc": {
973        "start": {
974          "line": 1,
975          "column": 1
976        },
977        "end": {
978          "line": 1,
979          "column": 1
980        }
981      }
982    }
983  ],
984  "loc": {
985    "start": {
986      "line": 1,
987      "column": 1
988    },
989    "end": {
990      "line": 27,
991      "column": 1
992    }
993  }
994}
995