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