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