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