1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ClassDeclaration",
6      "definition": {
7        "id": {
8          "type": "Identifier",
9          "name": "AbstractClass",
10          "decorators": [],
11          "loc": {
12            "start": {
13              "line": 16,
14              "column": 16
15            },
16            "end": {
17              "line": 16,
18              "column": 29
19            }
20          }
21        },
22        "superClass": null,
23        "implements": [],
24        "body": [
25          {
26            "type": "ClassProperty",
27            "key": {
28              "type": "Identifier",
29              "name": "_age",
30              "decorators": [],
31              "loc": {
32                "start": {
33                  "line": 17,
34                  "column": 13
35                },
36                "end": {
37                  "line": 17,
38                  "column": 17
39                }
40              }
41            },
42            "accessibility": "private",
43            "static": false,
44            "readonly": false,
45            "declare": false,
46            "optional": false,
47            "computed": false,
48            "typeAnnotation": {
49              "type": "ETSPrimitiveType",
50              "loc": {
51                "start": {
52                  "line": 17,
53                  "column": 19
54                },
55                "end": {
56                  "line": 17,
57                  "column": 22
58                }
59              }
60            },
61            "definite": false,
62            "decorators": [],
63            "loc": {
64              "start": {
65                "line": 17,
66                "column": 13
67              },
68              "end": {
69                "line": 17,
70                "column": 22
71              }
72            }
73          },
74          {
75            "type": "ClassProperty",
76            "key": {
77              "type": "Identifier",
78              "name": "_value",
79              "decorators": [],
80              "loc": {
81                "start": {
82                  "line": 18,
83                  "column": 13
84                },
85                "end": {
86                  "line": 18,
87                  "column": 19
88                }
89              }
90            },
91            "accessibility": "private",
92            "static": false,
93            "readonly": false,
94            "declare": false,
95            "optional": false,
96            "computed": false,
97            "typeAnnotation": {
98              "type": "ETSPrimitiveType",
99              "loc": {
100                "start": {
101                  "line": 18,
102                  "column": 21
103                },
104                "end": {
105                  "line": 18,
106                  "column": 24
107                }
108              }
109            },
110            "definite": false,
111            "decorators": [],
112            "loc": {
113              "start": {
114                "line": 18,
115                "column": 13
116              },
117              "end": {
118                "line": 18,
119                "column": 24
120              }
121            }
122          },
123          {
124            "type": "MethodDefinition",
125            "key": {
126              "type": "Identifier",
127              "name": "age",
128              "decorators": [],
129              "loc": {
130                "start": {
131                  "line": 1,
132                  "column": 1
133                },
134                "end": {
135                  "line": 1,
136                  "column": 1
137                }
138              }
139            },
140            "kind": "get",
141            "accessibility": "public",
142            "static": false,
143            "optional": false,
144            "computed": false,
145            "value": {
146              "type": "FunctionExpression",
147              "function": {
148                "type": "ScriptFunction",
149                "id": {
150                  "type": "Identifier",
151                  "name": "age",
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                "generator": false,
165                "async": false,
166                "expression": false,
167                "params": [],
168                "returnType": {
169                  "type": "ETSPrimitiveType",
170                  "loc": {
171                    "start": {
172                      "line": 20,
173                      "column": 25
174                    },
175                    "end": {
176                      "line": 20,
177                      "column": 28
178                    }
179                  }
180                },
181                "loc": {
182                  "start": {
183                    "line": 20,
184                    "column": 21
185                  },
186                  "end": {
187                    "line": 20,
188                    "column": 21
189                  }
190                }
191              },
192              "loc": {
193                "start": {
194                  "line": 20,
195                  "column": 21
196                },
197                "end": {
198                  "line": 20,
199                  "column": 21
200                }
201              }
202            },
203            "overloads": [
204              {
205                "type": "MethodDefinition",
206                "key": {
207                  "type": "Identifier",
208                  "name": "age",
209                  "decorators": [],
210                  "loc": {
211                    "start": {
212                      "line": 1,
213                      "column": 1
214                    },
215                    "end": {
216                      "line": 1,
217                      "column": 1
218                    }
219                  }
220                },
221                "kind": "set",
222                "accessibility": "public",
223                "static": false,
224                "optional": false,
225                "computed": false,
226                "value": {
227                  "type": "FunctionExpression",
228                  "function": {
229                    "type": "ScriptFunction",
230                    "id": {
231                      "type": "Identifier",
232                      "name": "age",
233                      "decorators": [],
234                      "loc": {
235                        "start": {
236                          "line": 1,
237                          "column": 1
238                        },
239                        "end": {
240                          "line": 1,
241                          "column": 1
242                        }
243                      }
244                    },
245                    "generator": false,
246                    "async": false,
247                    "expression": false,
248                    "params": [
249                      {
250                        "type": "ETSParameterExpression",
251                        "name": {
252                          "type": "Identifier",
253                          "name": "a",
254                          "typeAnnotation": {
255                            "type": "ETSPrimitiveType",
256                            "loc": {
257                              "start": {
258                                "line": 21,
259                                "column": 25
260                              },
261                              "end": {
262                                "line": 21,
263                                "column": 28
264                              }
265                            }
266                          },
267                          "decorators": [],
268                          "loc": {
269                            "start": {
270                              "line": 21,
271                              "column": 22
272                            },
273                            "end": {
274                              "line": 21,
275                              "column": 28
276                            }
277                          }
278                        },
279                        "loc": {
280                          "start": {
281                            "line": 21,
282                            "column": 22
283                          },
284                          "end": {
285                            "line": 21,
286                            "column": 28
287                          }
288                        }
289                      }
290                    ],
291                    "loc": {
292                      "start": {
293                        "line": 21,
294                        "column": 21
295                      },
296                      "end": {
297                        "line": 21,
298                        "column": 21
299                      }
300                    }
301                  },
302                  "loc": {
303                    "start": {
304                      "line": 21,
305                      "column": 21
306                    },
307                    "end": {
308                      "line": 21,
309                      "column": 21
310                    }
311                  }
312                },
313                "overloads": [],
314                "decorators": [],
315                "loc": {
316                  "start": {
317                    "line": 21,
318                    "column": 21
319                  },
320                  "end": {
321                    "line": 21,
322                    "column": 21
323                  }
324                }
325              }
326            ],
327            "decorators": [],
328            "loc": {
329              "start": {
330                "line": 20,
331                "column": 21
332              },
333              "end": {
334                "line": 20,
335                "column": 21
336              }
337            }
338          },
339          {
340            "type": "MethodDefinition",
341            "key": {
342              "type": "Identifier",
343              "name": "value",
344              "decorators": [],
345              "loc": {
346                "start": {
347                  "line": 1,
348                  "column": 1
349                },
350                "end": {
351                  "line": 1,
352                  "column": 1
353                }
354              }
355            },
356            "kind": "set",
357            "accessibility": "public",
358            "static": false,
359            "optional": false,
360            "computed": false,
361            "value": {
362              "type": "FunctionExpression",
363              "function": {
364                "type": "ScriptFunction",
365                "id": {
366                  "type": "Identifier",
367                  "name": "value",
368                  "decorators": [],
369                  "loc": {
370                    "start": {
371                      "line": 1,
372                      "column": 1
373                    },
374                    "end": {
375                      "line": 1,
376                      "column": 1
377                    }
378                  }
379                },
380                "generator": false,
381                "async": false,
382                "expression": false,
383                "params": [
384                  {
385                    "type": "ETSParameterExpression",
386                    "name": {
387                      "type": "Identifier",
388                      "name": "v",
389                      "typeAnnotation": {
390                        "type": "ETSPrimitiveType",
391                        "loc": {
392                          "start": {
393                            "line": 22,
394                            "column": 27
395                          },
396                          "end": {
397                            "line": 22,
398                            "column": 30
399                          }
400                        }
401                      },
402                      "decorators": [],
403                      "loc": {
404                        "start": {
405                          "line": 22,
406                          "column": 24
407                        },
408                        "end": {
409                          "line": 22,
410                          "column": 30
411                        }
412                      }
413                    },
414                    "loc": {
415                      "start": {
416                        "line": 22,
417                        "column": 24
418                      },
419                      "end": {
420                        "line": 22,
421                        "column": 30
422                      }
423                    }
424                  }
425                ],
426                "loc": {
427                  "start": {
428                    "line": 22,
429                    "column": 23
430                  },
431                  "end": {
432                    "line": 22,
433                    "column": 23
434                  }
435                }
436              },
437              "loc": {
438                "start": {
439                  "line": 22,
440                  "column": 23
441                },
442                "end": {
443                  "line": 22,
444                  "column": 23
445                }
446              }
447            },
448            "overloads": [
449              {
450                "type": "MethodDefinition",
451                "key": {
452                  "type": "Identifier",
453                  "name": "value",
454                  "decorators": [],
455                  "loc": {
456                    "start": {
457                      "line": 1,
458                      "column": 1
459                    },
460                    "end": {
461                      "line": 1,
462                      "column": 1
463                    }
464                  }
465                },
466                "kind": "get",
467                "accessibility": "public",
468                "static": false,
469                "optional": false,
470                "computed": false,
471                "value": {
472                  "type": "FunctionExpression",
473                  "function": {
474                    "type": "ScriptFunction",
475                    "id": {
476                      "type": "Identifier",
477                      "name": "value",
478                      "decorators": [],
479                      "loc": {
480                        "start": {
481                          "line": 1,
482                          "column": 1
483                        },
484                        "end": {
485                          "line": 1,
486                          "column": 1
487                        }
488                      }
489                    },
490                    "generator": false,
491                    "async": false,
492                    "expression": false,
493                    "params": [],
494                    "returnType": {
495                      "type": "ETSPrimitiveType",
496                      "loc": {
497                        "start": {
498                          "line": 23,
499                          "column": 27
500                        },
501                        "end": {
502                          "line": 23,
503                          "column": 30
504                        }
505                      }
506                    },
507                    "loc": {
508                      "start": {
509                        "line": 23,
510                        "column": 23
511                      },
512                      "end": {
513                        "line": 23,
514                        "column": 23
515                      }
516                    }
517                  },
518                  "loc": {
519                    "start": {
520                      "line": 23,
521                      "column": 23
522                    },
523                    "end": {
524                      "line": 23,
525                      "column": 23
526                    }
527                  }
528                },
529                "overloads": [],
530                "decorators": [],
531                "loc": {
532                  "start": {
533                    "line": 23,
534                    "column": 23
535                  },
536                  "end": {
537                    "line": 23,
538                    "column": 23
539                  }
540                }
541              }
542            ],
543            "decorators": [],
544            "loc": {
545              "start": {
546                "line": 22,
547                "column": 23
548              },
549              "end": {
550                "line": 22,
551                "column": 23
552              }
553            }
554          },
555          {
556            "type": "MethodDefinition",
557            "key": {
558              "type": "Identifier",
559              "name": "constructor",
560              "decorators": [],
561              "loc": {
562                "start": {
563                  "line": 1,
564                  "column": 1
565                },
566                "end": {
567                  "line": 1,
568                  "column": 1
569                }
570              }
571            },
572            "kind": "constructor",
573            "static": false,
574            "optional": false,
575            "computed": false,
576            "value": {
577              "type": "FunctionExpression",
578              "function": {
579                "type": "ScriptFunction",
580                "id": {
581                  "type": "Identifier",
582                  "name": "constructor",
583                  "decorators": [],
584                  "loc": {
585                    "start": {
586                      "line": 1,
587                      "column": 1
588                    },
589                    "end": {
590                      "line": 1,
591                      "column": 1
592                    }
593                  }
594                },
595                "generator": false,
596                "async": false,
597                "expression": false,
598                "params": [],
599                "body": {
600                  "type": "BlockStatement",
601                  "statements": [],
602                  "loc": {
603                    "start": {
604                      "line": 1,
605                      "column": 1
606                    },
607                    "end": {
608                      "line": 1,
609                      "column": 1
610                    }
611                  }
612                },
613                "loc": {
614                  "start": {
615                    "line": 1,
616                    "column": 1
617                  },
618                  "end": {
619                    "line": 1,
620                    "column": 1
621                  }
622                }
623              },
624              "loc": {
625                "start": {
626                  "line": 1,
627                  "column": 1
628                },
629                "end": {
630                  "line": 1,
631                  "column": 1
632                }
633              }
634            },
635            "overloads": [],
636            "decorators": [],
637            "loc": {
638              "start": {
639                "line": 24,
640                "column": 2
641              },
642              "end": {
643                "line": 24,
644                "column": 2
645              }
646            }
647          }
648        ],
649        "loc": {
650          "start": {
651            "line": 16,
652            "column": 30
653          },
654          "end": {
655            "line": 24,
656            "column": 2
657          }
658        }
659      },
660      "loc": {
661        "start": {
662          "line": 16,
663          "column": 10
664        },
665        "end": {
666          "line": 24,
667          "column": 2
668        }
669      }
670    },
671    {
672      "type": "ClassDeclaration",
673      "definition": {
674        "id": {
675          "type": "Identifier",
676          "name": "ChildClass",
677          "decorators": [],
678          "loc": {
679            "start": {
680              "line": 26,
681              "column": 7
682            },
683            "end": {
684              "line": 26,
685              "column": 17
686            }
687          }
688        },
689        "superClass": {
690          "type": "ETSTypeReference",
691          "part": {
692            "type": "ETSTypeReferencePart",
693            "name": {
694              "type": "Identifier",
695              "name": "AbstractClass",
696              "decorators": [],
697              "loc": {
698                "start": {
699                  "line": 26,
700                  "column": 26
701                },
702                "end": {
703                  "line": 26,
704                  "column": 39
705                }
706              }
707            },
708            "loc": {
709              "start": {
710                "line": 26,
711                "column": 26
712              },
713              "end": {
714                "line": 26,
715                "column": 41
716              }
717            }
718          },
719          "loc": {
720            "start": {
721              "line": 26,
722              "column": 26
723            },
724            "end": {
725              "line": 26,
726              "column": 41
727            }
728          }
729        },
730        "implements": [],
731        "body": [
732          {
733            "type": "ClassProperty",
734            "key": {
735              "type": "Identifier",
736              "name": "_age",
737              "decorators": [],
738              "loc": {
739                "start": {
740                  "line": 27,
741                  "column": 13
742                },
743                "end": {
744                  "line": 27,
745                  "column": 17
746                }
747              }
748            },
749            "accessibility": "private",
750            "static": false,
751            "readonly": false,
752            "declare": false,
753            "optional": false,
754            "computed": false,
755            "typeAnnotation": {
756              "type": "ETSPrimitiveType",
757              "loc": {
758                "start": {
759                  "line": 27,
760                  "column": 19
761                },
762                "end": {
763                  "line": 27,
764                  "column": 22
765                }
766              }
767            },
768            "definite": false,
769            "decorators": [],
770            "loc": {
771              "start": {
772                "line": 27,
773                "column": 13
774              },
775              "end": {
776                "line": 27,
777                "column": 22
778              }
779            }
780          },
781          {
782            "type": "ClassProperty",
783            "key": {
784              "type": "Identifier",
785              "name": "_value",
786              "decorators": [],
787              "loc": {
788                "start": {
789                  "line": 28,
790                  "column": 13
791                },
792                "end": {
793                  "line": 28,
794                  "column": 19
795                }
796              }
797            },
798            "accessibility": "private",
799            "static": false,
800            "readonly": false,
801            "declare": false,
802            "optional": false,
803            "computed": false,
804            "typeAnnotation": {
805              "type": "ETSPrimitiveType",
806              "loc": {
807                "start": {
808                  "line": 28,
809                  "column": 21
810                },
811                "end": {
812                  "line": 28,
813                  "column": 24
814                }
815              }
816            },
817            "definite": false,
818            "decorators": [],
819            "loc": {
820              "start": {
821                "line": 28,
822                "column": 13
823              },
824              "end": {
825                "line": 28,
826                "column": 24
827              }
828            }
829          },
830          {
831            "type": "MethodDefinition",
832            "key": {
833              "type": "Identifier",
834              "name": "age",
835              "decorators": [],
836              "loc": {
837                "start": {
838                  "line": 1,
839                  "column": 1
840                },
841                "end": {
842                  "line": 1,
843                  "column": 1
844                }
845              }
846            },
847            "kind": "get",
848            "accessibility": "public",
849            "static": false,
850            "optional": false,
851            "computed": false,
852            "value": {
853              "type": "FunctionExpression",
854              "function": {
855                "type": "ScriptFunction",
856                "id": {
857                  "type": "Identifier",
858                  "name": "age",
859                  "decorators": [],
860                  "loc": {
861                    "start": {
862                      "line": 1,
863                      "column": 1
864                    },
865                    "end": {
866                      "line": 1,
867                      "column": 1
868                    }
869                  }
870                },
871                "generator": false,
872                "async": false,
873                "expression": false,
874                "params": [],
875                "returnType": {
876                  "type": "ETSPrimitiveType",
877                  "loc": {
878                    "start": {
879                      "line": 31,
880                      "column": 25
881                    },
882                    "end": {
883                      "line": 31,
884                      "column": 28
885                    }
886                  }
887                },
888                "body": {
889                  "type": "BlockStatement",
890                  "statements": [
891                    {
892                      "type": "ReturnStatement",
893                      "argument": {
894                        "type": "MemberExpression",
895                        "object": {
896                          "type": "ThisExpression",
897                          "loc": {
898                            "start": {
899                              "line": 32,
900                              "column": 16
901                            },
902                            "end": {
903                              "line": 32,
904                              "column": 20
905                            }
906                          }
907                        },
908                        "property": {
909                          "type": "Identifier",
910                          "name": "_age",
911                          "decorators": [],
912                          "loc": {
913                            "start": {
914                              "line": 32,
915                              "column": 21
916                            },
917                            "end": {
918                              "line": 32,
919                              "column": 25
920                            }
921                          }
922                        },
923                        "computed": false,
924                        "optional": false,
925                        "loc": {
926                          "start": {
927                            "line": 32,
928                            "column": 16
929                          },
930                          "end": {
931                            "line": 32,
932                            "column": 25
933                          }
934                        }
935                      },
936                      "loc": {
937                        "start": {
938                          "line": 32,
939                          "column": 9
940                        },
941                        "end": {
942                          "line": 32,
943                          "column": 26
944                        }
945                      }
946                    }
947                  ],
948                  "loc": {
949                    "start": {
950                      "line": 31,
951                      "column": 29
952                    },
953                    "end": {
954                      "line": 33,
955                      "column": 6
956                    }
957                  }
958                },
959                "loc": {
960                  "start": {
961                    "line": 31,
962                    "column": 21
963                  },
964                  "end": {
965                    "line": 33,
966                    "column": 6
967                  }
968                }
969              },
970              "loc": {
971                "start": {
972                  "line": 31,
973                  "column": 21
974                },
975                "end": {
976                  "line": 33,
977                  "column": 6
978                }
979              }
980            },
981            "overloads": [
982              {
983                "type": "MethodDefinition",
984                "key": {
985                  "type": "Identifier",
986                  "name": "age",
987                  "decorators": [],
988                  "loc": {
989                    "start": {
990                      "line": 1,
991                      "column": 1
992                    },
993                    "end": {
994                      "line": 1,
995                      "column": 1
996                    }
997                  }
998                },
999                "kind": "set",
1000                "accessibility": "public",
1001                "static": false,
1002                "optional": false,
1003                "computed": false,
1004                "value": {
1005                  "type": "FunctionExpression",
1006                  "function": {
1007                    "type": "ScriptFunction",
1008                    "id": {
1009                      "type": "Identifier",
1010                      "name": "age",
1011                      "decorators": [],
1012                      "loc": {
1013                        "start": {
1014                          "line": 1,
1015                          "column": 1
1016                        },
1017                        "end": {
1018                          "line": 1,
1019                          "column": 1
1020                        }
1021                      }
1022                    },
1023                    "generator": false,
1024                    "async": false,
1025                    "expression": false,
1026                    "params": [
1027                      {
1028                        "type": "ETSParameterExpression",
1029                        "name": {
1030                          "type": "Identifier",
1031                          "name": "a",
1032                          "typeAnnotation": {
1033                            "type": "ETSPrimitiveType",
1034                            "loc": {
1035                              "start": {
1036                                "line": 35,
1037                                "column": 25
1038                              },
1039                              "end": {
1040                                "line": 35,
1041                                "column": 28
1042                              }
1043                            }
1044                          },
1045                          "decorators": [],
1046                          "loc": {
1047                            "start": {
1048                              "line": 35,
1049                              "column": 22
1050                            },
1051                            "end": {
1052                              "line": 35,
1053                              "column": 28
1054                            }
1055                          }
1056                        },
1057                        "loc": {
1058                          "start": {
1059                            "line": 35,
1060                            "column": 22
1061                          },
1062                          "end": {
1063                            "line": 35,
1064                            "column": 28
1065                          }
1066                        }
1067                      }
1068                    ],
1069                    "returnType": {
1070                      "type": "ETSPrimitiveType",
1071                      "loc": {
1072                        "start": {
1073                          "line": 35,
1074                          "column": 31
1075                        },
1076                        "end": {
1077                          "line": 35,
1078                          "column": 35
1079                        }
1080                      }
1081                    },
1082                    "body": {
1083                      "type": "BlockStatement",
1084                      "statements": [
1085                        {
1086                          "type": "ExpressionStatement",
1087                          "expression": {
1088                            "type": "AssignmentExpression",
1089                            "operator": "=",
1090                            "left": {
1091                              "type": "MemberExpression",
1092                              "object": {
1093                                "type": "ThisExpression",
1094                                "loc": {
1095                                  "start": {
1096                                    "line": 36,
1097                                    "column": 9
1098                                  },
1099                                  "end": {
1100                                    "line": 36,
1101                                    "column": 13
1102                                  }
1103                                }
1104                              },
1105                              "property": {
1106                                "type": "Identifier",
1107                                "name": "_age",
1108                                "decorators": [],
1109                                "loc": {
1110                                  "start": {
1111                                    "line": 36,
1112                                    "column": 14
1113                                  },
1114                                  "end": {
1115                                    "line": 36,
1116                                    "column": 18
1117                                  }
1118                                }
1119                              },
1120                              "computed": false,
1121                              "optional": false,
1122                              "loc": {
1123                                "start": {
1124                                  "line": 36,
1125                                  "column": 9
1126                                },
1127                                "end": {
1128                                  "line": 36,
1129                                  "column": 18
1130                                }
1131                              }
1132                            },
1133                            "right": {
1134                              "type": "Identifier",
1135                              "name": "a",
1136                              "decorators": [],
1137                              "loc": {
1138                                "start": {
1139                                  "line": 36,
1140                                  "column": 21
1141                                },
1142                                "end": {
1143                                  "line": 36,
1144                                  "column": 22
1145                                }
1146                              }
1147                            },
1148                            "loc": {
1149                              "start": {
1150                                "line": 36,
1151                                "column": 9
1152                              },
1153                              "end": {
1154                                "line": 36,
1155                                "column": 22
1156                              }
1157                            }
1158                          },
1159                          "loc": {
1160                            "start": {
1161                              "line": 36,
1162                              "column": 9
1163                            },
1164                            "end": {
1165                              "line": 36,
1166                              "column": 23
1167                            }
1168                          }
1169                        }
1170                      ],
1171                      "loc": {
1172                        "start": {
1173                          "line": 35,
1174                          "column": 36
1175                        },
1176                        "end": {
1177                          "line": 37,
1178                          "column": 6
1179                        }
1180                      }
1181                    },
1182                    "loc": {
1183                      "start": {
1184                        "line": 35,
1185                        "column": 21
1186                      },
1187                      "end": {
1188                        "line": 37,
1189                        "column": 6
1190                      }
1191                    }
1192                  },
1193                  "loc": {
1194                    "start": {
1195                      "line": 35,
1196                      "column": 21
1197                    },
1198                    "end": {
1199                      "line": 37,
1200                      "column": 6
1201                    }
1202                  }
1203                },
1204                "overloads": [],
1205                "decorators": [],
1206                "loc": {
1207                  "start": {
1208                    "line": 35,
1209                    "column": 21
1210                  },
1211                  "end": {
1212                    "line": 37,
1213                    "column": 6
1214                  }
1215                }
1216              }
1217            ],
1218            "decorators": [],
1219            "loc": {
1220              "start": {
1221                "line": 31,
1222                "column": 21
1223              },
1224              "end": {
1225                "line": 33,
1226                "column": 6
1227              }
1228            }
1229          },
1230          {
1231            "type": "MethodDefinition",
1232            "key": {
1233              "type": "Identifier",
1234              "name": "value",
1235              "decorators": [],
1236              "loc": {
1237                "start": {
1238                  "line": 1,
1239                  "column": 1
1240                },
1241                "end": {
1242                  "line": 1,
1243                  "column": 1
1244                }
1245              }
1246            },
1247            "kind": "set",
1248            "accessibility": "public",
1249            "static": false,
1250            "optional": false,
1251            "computed": false,
1252            "value": {
1253              "type": "FunctionExpression",
1254              "function": {
1255                "type": "ScriptFunction",
1256                "id": {
1257                  "type": "Identifier",
1258                  "name": "value",
1259                  "decorators": [],
1260                  "loc": {
1261                    "start": {
1262                      "line": 1,
1263                      "column": 1
1264                    },
1265                    "end": {
1266                      "line": 1,
1267                      "column": 1
1268                    }
1269                  }
1270                },
1271                "generator": false,
1272                "async": false,
1273                "expression": false,
1274                "params": [
1275                  {
1276                    "type": "ETSParameterExpression",
1277                    "name": {
1278                      "type": "Identifier",
1279                      "name": "v",
1280                      "typeAnnotation": {
1281                        "type": "ETSPrimitiveType",
1282                        "loc": {
1283                          "start": {
1284                            "line": 39,
1285                            "column": 27
1286                          },
1287                          "end": {
1288                            "line": 39,
1289                            "column": 30
1290                          }
1291                        }
1292                      },
1293                      "decorators": [],
1294                      "loc": {
1295                        "start": {
1296                          "line": 39,
1297                          "column": 24
1298                        },
1299                        "end": {
1300                          "line": 39,
1301                          "column": 30
1302                        }
1303                      }
1304                    },
1305                    "loc": {
1306                      "start": {
1307                        "line": 39,
1308                        "column": 24
1309                      },
1310                      "end": {
1311                        "line": 39,
1312                        "column": 30
1313                      }
1314                    }
1315                  }
1316                ],
1317                "returnType": {
1318                  "type": "ETSPrimitiveType",
1319                  "loc": {
1320                    "start": {
1321                      "line": 39,
1322                      "column": 33
1323                    },
1324                    "end": {
1325                      "line": 39,
1326                      "column": 37
1327                    }
1328                  }
1329                },
1330                "body": {
1331                  "type": "BlockStatement",
1332                  "statements": [
1333                    {
1334                      "type": "ExpressionStatement",
1335                      "expression": {
1336                        "type": "AssignmentExpression",
1337                        "operator": "=",
1338                        "left": {
1339                          "type": "MemberExpression",
1340                          "object": {
1341                            "type": "ThisExpression",
1342                            "loc": {
1343                              "start": {
1344                                "line": 40,
1345                                "column": 9
1346                              },
1347                              "end": {
1348                                "line": 40,
1349                                "column": 13
1350                              }
1351                            }
1352                          },
1353                          "property": {
1354                            "type": "Identifier",
1355                            "name": "_value",
1356                            "decorators": [],
1357                            "loc": {
1358                              "start": {
1359                                "line": 40,
1360                                "column": 14
1361                              },
1362                              "end": {
1363                                "line": 40,
1364                                "column": 20
1365                              }
1366                            }
1367                          },
1368                          "computed": false,
1369                          "optional": false,
1370                          "loc": {
1371                            "start": {
1372                              "line": 40,
1373                              "column": 9
1374                            },
1375                            "end": {
1376                              "line": 40,
1377                              "column": 20
1378                            }
1379                          }
1380                        },
1381                        "right": {
1382                          "type": "Identifier",
1383                          "name": "v",
1384                          "decorators": [],
1385                          "loc": {
1386                            "start": {
1387                              "line": 40,
1388                              "column": 23
1389                            },
1390                            "end": {
1391                              "line": 40,
1392                              "column": 24
1393                            }
1394                          }
1395                        },
1396                        "loc": {
1397                          "start": {
1398                            "line": 40,
1399                            "column": 9
1400                          },
1401                          "end": {
1402                            "line": 40,
1403                            "column": 24
1404                          }
1405                        }
1406                      },
1407                      "loc": {
1408                        "start": {
1409                          "line": 40,
1410                          "column": 9
1411                        },
1412                        "end": {
1413                          "line": 40,
1414                          "column": 25
1415                        }
1416                      }
1417                    }
1418                  ],
1419                  "loc": {
1420                    "start": {
1421                      "line": 39,
1422                      "column": 38
1423                    },
1424                    "end": {
1425                      "line": 41,
1426                      "column": 6
1427                    }
1428                  }
1429                },
1430                "loc": {
1431                  "start": {
1432                    "line": 39,
1433                    "column": 23
1434                  },
1435                  "end": {
1436                    "line": 41,
1437                    "column": 6
1438                  }
1439                }
1440              },
1441              "loc": {
1442                "start": {
1443                  "line": 39,
1444                  "column": 23
1445                },
1446                "end": {
1447                  "line": 41,
1448                  "column": 6
1449                }
1450              }
1451            },
1452            "overloads": [
1453              {
1454                "type": "MethodDefinition",
1455                "key": {
1456                  "type": "Identifier",
1457                  "name": "value",
1458                  "decorators": [],
1459                  "loc": {
1460                    "start": {
1461                      "line": 1,
1462                      "column": 1
1463                    },
1464                    "end": {
1465                      "line": 1,
1466                      "column": 1
1467                    }
1468                  }
1469                },
1470                "kind": "get",
1471                "accessibility": "public",
1472                "static": false,
1473                "optional": false,
1474                "computed": false,
1475                "value": {
1476                  "type": "FunctionExpression",
1477                  "function": {
1478                    "type": "ScriptFunction",
1479                    "id": {
1480                      "type": "Identifier",
1481                      "name": "value",
1482                      "decorators": [],
1483                      "loc": {
1484                        "start": {
1485                          "line": 1,
1486                          "column": 1
1487                        },
1488                        "end": {
1489                          "line": 1,
1490                          "column": 1
1491                        }
1492                      }
1493                    },
1494                    "generator": false,
1495                    "async": false,
1496                    "expression": false,
1497                    "params": [],
1498                    "returnType": {
1499                      "type": "ETSPrimitiveType",
1500                      "loc": {
1501                        "start": {
1502                          "line": 43,
1503                          "column": 27
1504                        },
1505                        "end": {
1506                          "line": 43,
1507                          "column": 30
1508                        }
1509                      }
1510                    },
1511                    "body": {
1512                      "type": "BlockStatement",
1513                      "statements": [
1514                        {
1515                          "type": "ReturnStatement",
1516                          "argument": {
1517                            "type": "MemberExpression",
1518                            "object": {
1519                              "type": "ThisExpression",
1520                              "loc": {
1521                                "start": {
1522                                  "line": 44,
1523                                  "column": 16
1524                                },
1525                                "end": {
1526                                  "line": 44,
1527                                  "column": 20
1528                                }
1529                              }
1530                            },
1531                            "property": {
1532                              "type": "Identifier",
1533                              "name": "_value",
1534                              "decorators": [],
1535                              "loc": {
1536                                "start": {
1537                                  "line": 44,
1538                                  "column": 21
1539                                },
1540                                "end": {
1541                                  "line": 44,
1542                                  "column": 27
1543                                }
1544                              }
1545                            },
1546                            "computed": false,
1547                            "optional": false,
1548                            "loc": {
1549                              "start": {
1550                                "line": 44,
1551                                "column": 16
1552                              },
1553                              "end": {
1554                                "line": 44,
1555                                "column": 27
1556                              }
1557                            }
1558                          },
1559                          "loc": {
1560                            "start": {
1561                              "line": 44,
1562                              "column": 9
1563                            },
1564                            "end": {
1565                              "line": 44,
1566                              "column": 28
1567                            }
1568                          }
1569                        }
1570                      ],
1571                      "loc": {
1572                        "start": {
1573                          "line": 43,
1574                          "column": 31
1575                        },
1576                        "end": {
1577                          "line": 45,
1578                          "column": 6
1579                        }
1580                      }
1581                    },
1582                    "loc": {
1583                      "start": {
1584                        "line": 43,
1585                        "column": 23
1586                      },
1587                      "end": {
1588                        "line": 45,
1589                        "column": 6
1590                      }
1591                    }
1592                  },
1593                  "loc": {
1594                    "start": {
1595                      "line": 43,
1596                      "column": 23
1597                    },
1598                    "end": {
1599                      "line": 45,
1600                      "column": 6
1601                    }
1602                  }
1603                },
1604                "overloads": [],
1605                "decorators": [],
1606                "loc": {
1607                  "start": {
1608                    "line": 43,
1609                    "column": 23
1610                  },
1611                  "end": {
1612                    "line": 45,
1613                    "column": 6
1614                  }
1615                }
1616              }
1617            ],
1618            "decorators": [],
1619            "loc": {
1620              "start": {
1621                "line": 39,
1622                "column": 23
1623              },
1624              "end": {
1625                "line": 41,
1626                "column": 6
1627              }
1628            }
1629          },
1630          {
1631            "type": "MethodDefinition",
1632            "key": {
1633              "type": "Identifier",
1634              "name": "constructor",
1635              "decorators": [],
1636              "loc": {
1637                "start": {
1638                  "line": 1,
1639                  "column": 1
1640                },
1641                "end": {
1642                  "line": 1,
1643                  "column": 1
1644                }
1645              }
1646            },
1647            "kind": "constructor",
1648            "static": false,
1649            "optional": false,
1650            "computed": false,
1651            "value": {
1652              "type": "FunctionExpression",
1653              "function": {
1654                "type": "ScriptFunction",
1655                "id": {
1656                  "type": "Identifier",
1657                  "name": "constructor",
1658                  "decorators": [],
1659                  "loc": {
1660                    "start": {
1661                      "line": 1,
1662                      "column": 1
1663                    },
1664                    "end": {
1665                      "line": 1,
1666                      "column": 1
1667                    }
1668                  }
1669                },
1670                "generator": false,
1671                "async": false,
1672                "expression": false,
1673                "params": [],
1674                "body": {
1675                  "type": "BlockStatement",
1676                  "statements": [],
1677                  "loc": {
1678                    "start": {
1679                      "line": 1,
1680                      "column": 1
1681                    },
1682                    "end": {
1683                      "line": 1,
1684                      "column": 1
1685                    }
1686                  }
1687                },
1688                "loc": {
1689                  "start": {
1690                    "line": 1,
1691                    "column": 1
1692                  },
1693                  "end": {
1694                    "line": 1,
1695                    "column": 1
1696                  }
1697                }
1698              },
1699              "loc": {
1700                "start": {
1701                  "line": 1,
1702                  "column": 1
1703                },
1704                "end": {
1705                  "line": 1,
1706                  "column": 1
1707                }
1708              }
1709            },
1710            "overloads": [],
1711            "decorators": [],
1712            "loc": {
1713              "start": {
1714                "line": 46,
1715                "column": 2
1716              },
1717              "end": {
1718                "line": 46,
1719                "column": 2
1720              }
1721            }
1722          }
1723        ],
1724        "loc": {
1725          "start": {
1726            "line": 26,
1727            "column": 40
1728          },
1729          "end": {
1730            "line": 46,
1731            "column": 2
1732          }
1733        }
1734      },
1735      "loc": {
1736        "start": {
1737          "line": 26,
1738          "column": 1
1739        },
1740        "end": {
1741          "line": 46,
1742          "column": 2
1743        }
1744      }
1745    },
1746    {
1747      "type": "ClassDeclaration",
1748      "definition": {
1749        "id": {
1750          "type": "Identifier",
1751          "name": "ETSGLOBAL",
1752          "decorators": [],
1753          "loc": {
1754            "start": {
1755              "line": 1,
1756              "column": 1
1757            },
1758            "end": {
1759              "line": 1,
1760              "column": 1
1761            }
1762          }
1763        },
1764        "superClass": null,
1765        "implements": [],
1766        "body": [
1767          {
1768            "type": "MethodDefinition",
1769            "key": {
1770              "type": "Identifier",
1771              "name": "_$init$_",
1772              "decorators": [],
1773              "loc": {
1774                "start": {
1775                  "line": 1,
1776                  "column": 1
1777                },
1778                "end": {
1779                  "line": 1,
1780                  "column": 1
1781                }
1782              }
1783            },
1784            "kind": "method",
1785            "accessibility": "public",
1786            "static": true,
1787            "optional": false,
1788            "computed": false,
1789            "value": {
1790              "type": "FunctionExpression",
1791              "function": {
1792                "type": "ScriptFunction",
1793                "id": {
1794                  "type": "Identifier",
1795                  "name": "_$init$_",
1796                  "decorators": [],
1797                  "loc": {
1798                    "start": {
1799                      "line": 1,
1800                      "column": 1
1801                    },
1802                    "end": {
1803                      "line": 1,
1804                      "column": 1
1805                    }
1806                  }
1807                },
1808                "generator": false,
1809                "async": false,
1810                "expression": false,
1811                "params": [],
1812                "body": {
1813                  "type": "BlockStatement",
1814                  "statements": [],
1815                  "loc": {
1816                    "start": {
1817                      "line": 1,
1818                      "column": 1
1819                    },
1820                    "end": {
1821                      "line": 1,
1822                      "column": 1
1823                    }
1824                  }
1825                },
1826                "loc": {
1827                  "start": {
1828                    "line": 1,
1829                    "column": 1
1830                  },
1831                  "end": {
1832                    "line": 1,
1833                    "column": 1
1834                  }
1835                }
1836              },
1837              "loc": {
1838                "start": {
1839                  "line": 1,
1840                  "column": 1
1841                },
1842                "end": {
1843                  "line": 1,
1844                  "column": 1
1845                }
1846              }
1847            },
1848            "overloads": [],
1849            "decorators": [],
1850            "loc": {
1851              "start": {
1852                "line": 1,
1853                "column": 1
1854              },
1855              "end": {
1856                "line": 1,
1857                "column": 1
1858              }
1859            }
1860          }
1861        ],
1862        "loc": {
1863          "start": {
1864            "line": 1,
1865            "column": 1
1866          },
1867          "end": {
1868            "line": 1,
1869            "column": 1
1870          }
1871        }
1872      },
1873      "loc": {
1874        "start": {
1875          "line": 1,
1876          "column": 1
1877        },
1878        "end": {
1879          "line": 1,
1880          "column": 1
1881        }
1882      }
1883    }
1884  ],
1885  "loc": {
1886    "start": {
1887      "line": 1,
1888      "column": 1
1889    },
1890    "end": {
1891      "line": 47,
1892      "column": 1
1893    }
1894  }
1895}
1896