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