1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ClassDeclaration",
6      "definition": {
7        "id": {
8          "type": "Identifier",
9          "name": "A",
10          "decorators": [],
11          "loc": {
12            "start": {
13              "line": 16,
14              "column": 7
15            },
16            "end": {
17              "line": 16,
18              "column": 8
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": 12
35                },
36                "end": {
37                  "line": 17,
38                  "column": 13
39                }
40              }
41            },
42            "accessibility": "public",
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": 14
54                },
55                "end": {
56                  "line": 17,
57                  "column": 17
58                }
59              }
60            },
61            "definite": false,
62            "decorators": [],
63            "loc": {
64              "start": {
65                "line": 17,
66                "column": 12
67              },
68              "end": {
69                "line": 17,
70                "column": 17
71              }
72            }
73          },
74          {
75            "type": "MethodDefinition",
76            "key": {
77              "type": "Identifier",
78              "name": "constructor",
79              "decorators": [],
80              "loc": {
81                "start": {
82                  "line": 1,
83                  "column": 1
84                },
85                "end": {
86                  "line": 1,
87                  "column": 1
88                }
89              }
90            },
91            "kind": "constructor",
92            "accessibility": "public",
93            "static": false,
94            "optional": false,
95            "computed": false,
96            "value": {
97              "type": "FunctionExpression",
98              "function": {
99                "type": "ScriptFunction",
100                "id": {
101                  "type": "Identifier",
102                  "name": "constructor",
103                  "decorators": [],
104                  "loc": {
105                    "start": {
106                      "line": 1,
107                      "column": 1
108                    },
109                    "end": {
110                      "line": 1,
111                      "column": 1
112                    }
113                  }
114                },
115                "generator": false,
116                "async": false,
117                "expression": false,
118                "params": [
119                  {
120                    "type": "ETSParameterExpression",
121                    "name": {
122                      "type": "Identifier",
123                      "name": "param",
124                      "typeAnnotation": {
125                        "type": "ETSPrimitiveType",
126                        "loc": {
127                          "start": {
128                            "line": 18,
129                            "column": 24
130                          },
131                          "end": {
132                            "line": 18,
133                            "column": 27
134                          }
135                        }
136                      },
137                      "decorators": [],
138                      "loc": {
139                        "start": {
140                          "line": 18,
141                          "column": 17
142                        },
143                        "end": {
144                          "line": 18,
145                          "column": 27
146                        }
147                      }
148                    },
149                    "loc": {
150                      "start": {
151                        "line": 18,
152                        "column": 17
153                      },
154                      "end": {
155                        "line": 18,
156                        "column": 31
157                      }
158                    }
159                  }
160                ],
161                "body": {
162                  "type": "BlockStatement",
163                  "statements": [
164                    {
165                      "type": "ExpressionStatement",
166                      "expression": {
167                        "type": "AssignmentExpression",
168                        "operator": "=",
169                        "left": {
170                          "type": "MemberExpression",
171                          "object": {
172                            "type": "ThisExpression",
173                            "loc": {
174                              "start": {
175                                "line": 19,
176                                "column": 7
177                              },
178                              "end": {
179                                "line": 19,
180                                "column": 11
181                              }
182                            }
183                          },
184                          "property": {
185                            "type": "Identifier",
186                            "name": "a",
187                            "decorators": [],
188                            "loc": {
189                              "start": {
190                                "line": 19,
191                                "column": 12
192                              },
193                              "end": {
194                                "line": 19,
195                                "column": 13
196                              }
197                            }
198                          },
199                          "computed": false,
200                          "optional": false,
201                          "loc": {
202                            "start": {
203                              "line": 19,
204                              "column": 7
205                            },
206                            "end": {
207                              "line": 19,
208                              "column": 13
209                            }
210                          }
211                        },
212                        "right": {
213                          "type": "Identifier",
214                          "name": "param",
215                          "decorators": [],
216                          "loc": {
217                            "start": {
218                              "line": 19,
219                              "column": 16
220                            },
221                            "end": {
222                              "line": 19,
223                              "column": 21
224                            }
225                          }
226                        },
227                        "loc": {
228                          "start": {
229                            "line": 19,
230                            "column": 7
231                          },
232                          "end": {
233                            "line": 19,
234                            "column": 21
235                          }
236                        }
237                      },
238                      "loc": {
239                        "start": {
240                          "line": 19,
241                          "column": 7
242                        },
243                        "end": {
244                          "line": 19,
245                          "column": 22
246                        }
247                      }
248                    }
249                  ],
250                  "loc": {
251                    "start": {
252                      "line": 18,
253                      "column": 33
254                    },
255                    "end": {
256                      "line": 20,
257                      "column": 6
258                    }
259                  }
260                },
261                "loc": {
262                  "start": {
263                    "line": 18,
264                    "column": 16
265                  },
266                  "end": {
267                    "line": 20,
268                    "column": 6
269                  }
270                }
271              },
272              "loc": {
273                "start": {
274                  "line": 18,
275                  "column": 16
276                },
277                "end": {
278                  "line": 20,
279                  "column": 6
280                }
281              }
282            },
283            "overloads": [
284              {
285                "type": "MethodDefinition",
286                "key": {
287                  "type": "Identifier",
288                  "name": "constructor",
289                  "decorators": [],
290                  "loc": {
291                    "start": {
292                      "line": 1,
293                      "column": 1
294                    },
295                    "end": {
296                      "line": 1,
297                      "column": 1
298                    }
299                  }
300                },
301                "kind": "constructor",
302                "accessibility": "public",
303                "static": false,
304                "optional": false,
305                "computed": false,
306                "value": {
307                  "type": "FunctionExpression",
308                  "function": {
309                    "type": "ScriptFunction",
310                    "id": {
311                      "type": "Identifier",
312                      "name": "constructor",
313                      "decorators": [],
314                      "loc": {
315                        "start": {
316                          "line": 1,
317                          "column": 1
318                        },
319                        "end": {
320                          "line": 1,
321                          "column": 1
322                        }
323                      }
324                    },
325                    "generator": false,
326                    "async": false,
327                    "expression": false,
328                    "params": [],
329                    "body": {
330                      "type": "BlockStatement",
331                      "statements": [
332                        {
333                          "type": "ExpressionStatement",
334                          "expression": {
335                            "type": "CallExpression",
336                            "callee": {
337                              "type": "ThisExpression",
338                              "loc": {
339                                "start": {
340                                  "line": 1,
341                                  "column": 1
342                                },
343                                "end": {
344                                  "line": 1,
345                                  "column": 1
346                                }
347                              }
348                            },
349                            "arguments": [
350                              {
351                                "type": "NumberLiteral",
352                                "value": 101,
353                                "loc": {
354                                  "start": {
355                                    "line": 18,
356                                    "column": 28
357                                  },
358                                  "end": {
359                                    "line": 18,
360                                    "column": 31
361                                  }
362                                }
363                              }
364                            ],
365                            "optional": false,
366                            "loc": {
367                              "start": {
368                                "line": 18,
369                                "column": 5
370                              },
371                              "end": {
372                                "line": 20,
373                                "column": 6
374                              }
375                            }
376                          },
377                          "loc": {
378                            "start": {
379                              "line": 1,
380                              "column": 1
381                            },
382                            "end": {
383                              "line": 1,
384                              "column": 1
385                            }
386                          }
387                        }
388                      ],
389                      "loc": {
390                        "start": {
391                          "line": 1,
392                          "column": 1
393                        },
394                        "end": {
395                          "line": 1,
396                          "column": 1
397                        }
398                      }
399                    },
400                    "loc": {
401                      "start": {
402                        "line": 638,
403                        "column": 1
404                      },
405                      "end": {
406                        "line": 638,
407                        "column": 1
408                      }
409                    }
410                  },
411                  "loc": {
412                    "start": {
413                      "line": 1,
414                      "column": 1
415                    },
416                    "end": {
417                      "line": 1,
418                      "column": 1
419                    }
420                  }
421                },
422                "overloads": [],
423                "decorators": [],
424                "loc": {
425                  "start": {
426                    "line": 18,
427                    "column": 5
428                  },
429                  "end": {
430                    "line": 1,
431                    "column": 1
432                  }
433                }
434              }
435            ],
436            "decorators": [],
437            "loc": {
438              "start": {
439                "line": 18,
440                "column": 5
441              },
442              "end": {
443                "line": 20,
444                "column": 6
445              }
446            }
447          },
448          {
449            "type": "MethodDefinition",
450            "key": {
451              "type": "Identifier",
452              "name": "SetA",
453              "decorators": [],
454              "loc": {
455                "start": {
456                  "line": 21,
457                  "column": 12
458                },
459                "end": {
460                  "line": 21,
461                  "column": 16
462                }
463              }
464            },
465            "kind": "method",
466            "accessibility": "public",
467            "static": false,
468            "optional": false,
469            "computed": false,
470            "value": {
471              "type": "FunctionExpression",
472              "function": {
473                "type": "ScriptFunction",
474                "id": {
475                  "type": "Identifier",
476                  "name": "SetA",
477                  "decorators": [],
478                  "loc": {
479                    "start": {
480                      "line": 21,
481                      "column": 12
482                    },
483                    "end": {
484                      "line": 21,
485                      "column": 16
486                    }
487                  }
488                },
489                "generator": false,
490                "async": false,
491                "expression": false,
492                "params": [
493                  {
494                    "type": "ETSParameterExpression",
495                    "name": {
496                      "type": "Identifier",
497                      "name": "param",
498                      "typeAnnotation": {
499                        "type": "ETSPrimitiveType",
500                        "loc": {
501                          "start": {
502                            "line": 21,
503                            "column": 24
504                          },
505                          "end": {
506                            "line": 21,
507                            "column": 27
508                          }
509                        }
510                      },
511                      "decorators": [],
512                      "loc": {
513                        "start": {
514                          "line": 21,
515                          "column": 17
516                        },
517                        "end": {
518                          "line": 21,
519                          "column": 27
520                        }
521                      }
522                    },
523                    "loc": {
524                      "start": {
525                        "line": 21,
526                        "column": 17
527                      },
528                      "end": {
529                        "line": 21,
530                        "column": 32
531                      }
532                    }
533                  }
534                ],
535                "body": {
536                  "type": "BlockStatement",
537                  "statements": [
538                    {
539                      "type": "ExpressionStatement",
540                      "expression": {
541                        "type": "AssignmentExpression",
542                        "operator": "=",
543                        "left": {
544                          "type": "MemberExpression",
545                          "object": {
546                            "type": "ThisExpression",
547                            "loc": {
548                              "start": {
549                                "line": 22,
550                                "column": 9
551                              },
552                              "end": {
553                                "line": 22,
554                                "column": 13
555                              }
556                            }
557                          },
558                          "property": {
559                            "type": "Identifier",
560                            "name": "a",
561                            "decorators": [],
562                            "loc": {
563                              "start": {
564                                "line": 22,
565                                "column": 14
566                              },
567                              "end": {
568                                "line": 22,
569                                "column": 15
570                              }
571                            }
572                          },
573                          "computed": false,
574                          "optional": false,
575                          "loc": {
576                            "start": {
577                              "line": 22,
578                              "column": 9
579                            },
580                            "end": {
581                              "line": 22,
582                              "column": 15
583                            }
584                          }
585                        },
586                        "right": {
587                          "type": "Identifier",
588                          "name": "param",
589                          "decorators": [],
590                          "loc": {
591                            "start": {
592                              "line": 22,
593                              "column": 18
594                            },
595                            "end": {
596                              "line": 22,
597                              "column": 23
598                            }
599                          }
600                        },
601                        "loc": {
602                          "start": {
603                            "line": 22,
604                            "column": 9
605                          },
606                          "end": {
607                            "line": 22,
608                            "column": 23
609                          }
610                        }
611                      },
612                      "loc": {
613                        "start": {
614                          "line": 22,
615                          "column": 9
616                        },
617                        "end": {
618                          "line": 22,
619                          "column": 24
620                        }
621                      }
622                    }
623                  ],
624                  "loc": {
625                    "start": {
626                      "line": 21,
627                      "column": 34
628                    },
629                    "end": {
630                      "line": 23,
631                      "column": 6
632                    }
633                  }
634                },
635                "loc": {
636                  "start": {
637                    "line": 21,
638                    "column": 16
639                  },
640                  "end": {
641                    "line": 23,
642                    "column": 6
643                  }
644                }
645              },
646              "loc": {
647                "start": {
648                  "line": 21,
649                  "column": 16
650                },
651                "end": {
652                  "line": 23,
653                  "column": 6
654                }
655              }
656            },
657            "overloads": [
658              {
659                "type": "MethodDefinition",
660                "key": {
661                  "type": "Identifier",
662                  "name": "SetA",
663                  "decorators": [],
664                  "loc": {
665                    "start": {
666                      "line": 21,
667                      "column": 12
668                    },
669                    "end": {
670                      "line": 21,
671                      "column": 16
672                    }
673                  }
674                },
675                "kind": "method",
676                "accessibility": "public",
677                "static": false,
678                "optional": false,
679                "computed": false,
680                "value": {
681                  "type": "FunctionExpression",
682                  "function": {
683                    "type": "ScriptFunction",
684                    "id": {
685                      "type": "Identifier",
686                      "name": "SetA",
687                      "decorators": [],
688                      "loc": {
689                        "start": {
690                          "line": 21,
691                          "column": 12
692                        },
693                        "end": {
694                          "line": 21,
695                          "column": 16
696                        }
697                      }
698                    },
699                    "generator": false,
700                    "async": false,
701                    "expression": false,
702                    "params": [],
703                    "body": {
704                      "type": "BlockStatement",
705                      "statements": [
706                        {
707                          "type": "ExpressionStatement",
708                          "expression": {
709                            "type": "CallExpression",
710                            "callee": {
711                              "type": "MemberExpression",
712                              "object": {
713                                "type": "ThisExpression",
714                                "loc": {
715                                  "start": {
716                                    "line": 1,
717                                    "column": 1
718                                  },
719                                  "end": {
720                                    "line": 1,
721                                    "column": 1
722                                  }
723                                }
724                              },
725                              "property": {
726                                "type": "Identifier",
727                                "name": "SetA",
728                                "decorators": [],
729                                "loc": {
730                                  "start": {
731                                    "line": 1,
732                                    "column": 1
733                                  },
734                                  "end": {
735                                    "line": 1,
736                                    "column": 1
737                                  }
738                                }
739                              },
740                              "computed": false,
741                              "optional": false,
742                              "loc": {
743                                "start": {
744                                  "line": 1,
745                                  "column": 1
746                                },
747                                "end": {
748                                  "line": 1,
749                                  "column": 1
750                                }
751                              }
752                            },
753                            "arguments": [
754                              {
755                                "type": "NumberLiteral",
756                                "value": 99,
757                                "loc": {
758                                  "start": {
759                                    "line": 21,
760                                    "column": 30
761                                  },
762                                  "end": {
763                                    "line": 21,
764                                    "column": 32
765                                  }
766                                }
767                              }
768                            ],
769                            "optional": false,
770                            "loc": {
771                              "start": {
772                                "line": 21,
773                                "column": 5
774                              },
775                              "end": {
776                                "line": 23,
777                                "column": 6
778                              }
779                            }
780                          },
781                          "loc": {
782                            "start": {
783                              "line": 1,
784                              "column": 1
785                            },
786                            "end": {
787                              "line": 1,
788                              "column": 1
789                            }
790                          }
791                        }
792                      ],
793                      "loc": {
794                        "start": {
795                          "line": 1,
796                          "column": 1
797                        },
798                        "end": {
799                          "line": 1,
800                          "column": 1
801                        }
802                      }
803                    },
804                    "loc": {
805                      "start": {
806                        "line": 700,
807                        "column": 1
808                      },
809                      "end": {
810                        "line": 700,
811                        "column": 1
812                      }
813                    }
814                  },
815                  "loc": {
816                    "start": {
817                      "line": 1,
818                      "column": 1
819                    },
820                    "end": {
821                      "line": 1,
822                      "column": 1
823                    }
824                  }
825                },
826                "overloads": [],
827                "decorators": [],
828                "loc": {
829                  "start": {
830                    "line": 21,
831                    "column": 5
832                  },
833                  "end": {
834                    "line": 1,
835                    "column": 1
836                  }
837                }
838              }
839            ],
840            "decorators": [],
841            "loc": {
842              "start": {
843                "line": 21,
844                "column": 5
845              },
846              "end": {
847                "line": 23,
848                "column": 6
849              }
850            }
851          }
852        ],
853        "loc": {
854          "start": {
855            "line": 16,
856            "column": 9
857          },
858          "end": {
859            "line": 24,
860            "column": 2
861          }
862        }
863      },
864      "loc": {
865        "start": {
866          "line": 16,
867          "column": 1
868        },
869        "end": {
870          "line": 24,
871          "column": 2
872        }
873      }
874    },
875    {
876      "type": "ClassDeclaration",
877      "definition": {
878        "id": {
879          "type": "Identifier",
880          "name": "C",
881          "decorators": [],
882          "loc": {
883            "start": {
884              "line": 26,
885              "column": 7
886            },
887            "end": {
888              "line": 26,
889              "column": 8
890            }
891          }
892        },
893        "superClass": {
894          "type": "ETSTypeReference",
895          "part": {
896            "type": "ETSTypeReferencePart",
897            "name": {
898              "type": "Identifier",
899              "name": "A",
900              "decorators": [],
901              "loc": {
902                "start": {
903                  "line": 26,
904                  "column": 17
905                },
906                "end": {
907                  "line": 26,
908                  "column": 18
909                }
910              }
911            },
912            "loc": {
913              "start": {
914                "line": 26,
915                "column": 17
916              },
917              "end": {
918                "line": 26,
919                "column": 20
920              }
921            }
922          },
923          "loc": {
924            "start": {
925              "line": 26,
926              "column": 17
927            },
928            "end": {
929              "line": 26,
930              "column": 20
931            }
932          }
933        },
934        "implements": [],
935        "body": [
936          {
937            "type": "ClassProperty",
938            "key": {
939              "type": "Identifier",
940              "name": "fs",
941              "decorators": [],
942              "loc": {
943                "start": {
944                  "line": 27,
945                  "column": 12
946                },
947                "end": {
948                  "line": 27,
949                  "column": 14
950                }
951              }
952            },
953            "value": {
954              "type": "NumberLiteral",
955              "value": 102,
956              "loc": {
957                "start": {
958                  "line": 27,
959                  "column": 19
960                },
961                "end": {
962                  "line": 27,
963                  "column": 22
964                }
965              }
966            },
967            "accessibility": "public",
968            "static": true,
969            "readonly": false,
970            "declare": false,
971            "optional": false,
972            "computed": false,
973            "typeAnnotation": {
974              "type": "ETSPrimitiveType",
975              "loc": {
976                "start": {
977                  "line": 27,
978                  "column": 15
979                },
980                "end": {
981                  "line": 27,
982                  "column": 18
983                }
984              }
985            },
986            "definite": false,
987            "decorators": [],
988            "loc": {
989              "start": {
990                "line": 27,
991                "column": 12
992              },
993              "end": {
994                "line": 27,
995                "column": 22
996              }
997            }
998          },
999          {
1000            "type": "ClassProperty",
1001            "key": {
1002              "type": "Identifier",
1003              "name": "fc",
1004              "decorators": [],
1005              "loc": {
1006                "start": {
1007                  "line": 28,
1008                  "column": 5
1009                },
1010                "end": {
1011                  "line": 28,
1012                  "column": 7
1013                }
1014              }
1015            },
1016            "value": {
1017              "type": "NumberLiteral",
1018              "value": 10001,
1019              "loc": {
1020                "start": {
1021                  "line": 28,
1022                  "column": 12
1023                },
1024                "end": {
1025                  "line": 28,
1026                  "column": 17
1027                }
1028              }
1029            },
1030            "accessibility": "public",
1031            "static": false,
1032            "readonly": false,
1033            "declare": false,
1034            "optional": false,
1035            "computed": false,
1036            "typeAnnotation": {
1037              "type": "ETSPrimitiveType",
1038              "loc": {
1039                "start": {
1040                  "line": 28,
1041                  "column": 8
1042                },
1043                "end": {
1044                  "line": 28,
1045                  "column": 11
1046                }
1047              }
1048            },
1049            "definite": false,
1050            "decorators": [],
1051            "loc": {
1052              "start": {
1053                "line": 28,
1054                "column": 5
1055              },
1056              "end": {
1057                "line": 28,
1058                "column": 17
1059              }
1060            }
1061          },
1062          {
1063            "type": "ClassProperty",
1064            "key": {
1065              "type": "Identifier",
1066              "name": "c",
1067              "decorators": [],
1068              "loc": {
1069                "start": {
1070                  "line": 29,
1071                  "column": 5
1072                },
1073                "end": {
1074                  "line": 29,
1075                  "column": 6
1076                }
1077              }
1078            },
1079            "accessibility": "public",
1080            "static": false,
1081            "readonly": false,
1082            "declare": false,
1083            "optional": false,
1084            "computed": false,
1085            "typeAnnotation": {
1086              "type": "ETSPrimitiveType",
1087              "loc": {
1088                "start": {
1089                  "line": 29,
1090                  "column": 7
1091                },
1092                "end": {
1093                  "line": 29,
1094                  "column": 10
1095                }
1096              }
1097            },
1098            "definite": false,
1099            "decorators": [],
1100            "loc": {
1101              "start": {
1102                "line": 29,
1103                "column": 5
1104              },
1105              "end": {
1106                "line": 29,
1107                "column": 10
1108              }
1109            }
1110          },
1111          {
1112            "type": "MethodDefinition",
1113            "key": {
1114              "type": "Identifier",
1115              "name": "setC",
1116              "decorators": [],
1117              "loc": {
1118                "start": {
1119                  "line": 30,
1120                  "column": 12
1121                },
1122                "end": {
1123                  "line": 30,
1124                  "column": 16
1125                }
1126              }
1127            },
1128            "kind": "method",
1129            "accessibility": "public",
1130            "static": false,
1131            "optional": false,
1132            "computed": false,
1133            "value": {
1134              "type": "FunctionExpression",
1135              "function": {
1136                "type": "ScriptFunction",
1137                "id": {
1138                  "type": "Identifier",
1139                  "name": "setC",
1140                  "decorators": [],
1141                  "loc": {
1142                    "start": {
1143                      "line": 30,
1144                      "column": 12
1145                    },
1146                    "end": {
1147                      "line": 30,
1148                      "column": 16
1149                    }
1150                  }
1151                },
1152                "generator": false,
1153                "async": false,
1154                "expression": false,
1155                "params": [
1156                  {
1157                    "type": "ETSParameterExpression",
1158                    "name": {
1159                      "type": "Identifier",
1160                      "name": "param",
1161                      "typeAnnotation": {
1162                        "type": "ETSPrimitiveType",
1163                        "loc": {
1164                          "start": {
1165                            "line": 30,
1166                            "column": 24
1167                          },
1168                          "end": {
1169                            "line": 30,
1170                            "column": 27
1171                          }
1172                        }
1173                      },
1174                      "decorators": [],
1175                      "loc": {
1176                        "start": {
1177                          "line": 30,
1178                          "column": 18
1179                        },
1180                        "end": {
1181                          "line": 30,
1182                          "column": 27
1183                        }
1184                      }
1185                    },
1186                    "loc": {
1187                      "start": {
1188                        "line": 30,
1189                        "column": 18
1190                      },
1191                      "end": {
1192                        "line": 30,
1193                        "column": 35
1194                      }
1195                    }
1196                  }
1197                ],
1198                "returnType": {
1199                  "type": "ETSPrimitiveType",
1200                  "loc": {
1201                    "start": {
1202                      "line": 30,
1203                      "column": 39
1204                    },
1205                    "end": {
1206                      "line": 30,
1207                      "column": 43
1208                    }
1209                  }
1210                },
1211                "body": {
1212                  "type": "BlockStatement",
1213                  "statements": [
1214                    {
1215                      "type": "ExpressionStatement",
1216                      "expression": {
1217                        "type": "AssignmentExpression",
1218                        "operator": "=",
1219                        "left": {
1220                          "type": "MemberExpression",
1221                          "object": {
1222                            "type": "ThisExpression",
1223                            "loc": {
1224                              "start": {
1225                                "line": 31,
1226                                "column": 9
1227                              },
1228                              "end": {
1229                                "line": 31,
1230                                "column": 13
1231                              }
1232                            }
1233                          },
1234                          "property": {
1235                            "type": "Identifier",
1236                            "name": "c",
1237                            "decorators": [],
1238                            "loc": {
1239                              "start": {
1240                                "line": 31,
1241                                "column": 14
1242                              },
1243                              "end": {
1244                                "line": 31,
1245                                "column": 15
1246                              }
1247                            }
1248                          },
1249                          "computed": false,
1250                          "optional": false,
1251                          "loc": {
1252                            "start": {
1253                              "line": 31,
1254                              "column": 9
1255                            },
1256                            "end": {
1257                              "line": 31,
1258                              "column": 15
1259                            }
1260                          }
1261                        },
1262                        "right": {
1263                          "type": "Identifier",
1264                          "name": "param",
1265                          "decorators": [],
1266                          "loc": {
1267                            "start": {
1268                              "line": 31,
1269                              "column": 18
1270                            },
1271                            "end": {
1272                              "line": 31,
1273                              "column": 23
1274                            }
1275                          }
1276                        },
1277                        "loc": {
1278                          "start": {
1279                            "line": 31,
1280                            "column": 9
1281                          },
1282                          "end": {
1283                            "line": 31,
1284                            "column": 23
1285                          }
1286                        }
1287                      },
1288                      "loc": {
1289                        "start": {
1290                          "line": 31,
1291                          "column": 9
1292                        },
1293                        "end": {
1294                          "line": 31,
1295                          "column": 24
1296                        }
1297                      }
1298                    }
1299                  ],
1300                  "loc": {
1301                    "start": {
1302                      "line": 30,
1303                      "column": 44
1304                    },
1305                    "end": {
1306                      "line": 32,
1307                      "column": 6
1308                    }
1309                  }
1310                },
1311                "loc": {
1312                  "start": {
1313                    "line": 30,
1314                    "column": 17
1315                  },
1316                  "end": {
1317                    "line": 32,
1318                    "column": 6
1319                  }
1320                }
1321              },
1322              "loc": {
1323                "start": {
1324                  "line": 30,
1325                  "column": 17
1326                },
1327                "end": {
1328                  "line": 32,
1329                  "column": 6
1330                }
1331              }
1332            },
1333            "overloads": [
1334              {
1335                "type": "MethodDefinition",
1336                "key": {
1337                  "type": "Identifier",
1338                  "name": "setC",
1339                  "decorators": [],
1340                  "loc": {
1341                    "start": {
1342                      "line": 30,
1343                      "column": 12
1344                    },
1345                    "end": {
1346                      "line": 30,
1347                      "column": 16
1348                    }
1349                  }
1350                },
1351                "kind": "method",
1352                "accessibility": "public",
1353                "static": false,
1354                "optional": false,
1355                "computed": false,
1356                "value": {
1357                  "type": "FunctionExpression",
1358                  "function": {
1359                    "type": "ScriptFunction",
1360                    "id": {
1361                      "type": "Identifier",
1362                      "name": "setC",
1363                      "decorators": [],
1364                      "loc": {
1365                        "start": {
1366                          "line": 30,
1367                          "column": 12
1368                        },
1369                        "end": {
1370                          "line": 30,
1371                          "column": 16
1372                        }
1373                      }
1374                    },
1375                    "generator": false,
1376                    "async": false,
1377                    "expression": false,
1378                    "params": [],
1379                    "returnType": {
1380                      "type": "ETSPrimitiveType",
1381                      "loc": {
1382                        "start": {
1383                          "line": 30,
1384                          "column": 39
1385                        },
1386                        "end": {
1387                          "line": 30,
1388                          "column": 43
1389                        }
1390                      }
1391                    },
1392                    "body": {
1393                      "type": "BlockStatement",
1394                      "statements": [
1395                        {
1396                          "type": "ReturnStatement",
1397                          "argument": {
1398                            "type": "CallExpression",
1399                            "callee": {
1400                              "type": "MemberExpression",
1401                              "object": {
1402                                "type": "ThisExpression",
1403                                "loc": {
1404                                  "start": {
1405                                    "line": 1,
1406                                    "column": 1
1407                                  },
1408                                  "end": {
1409                                    "line": 1,
1410                                    "column": 1
1411                                  }
1412                                }
1413                              },
1414                              "property": {
1415                                "type": "Identifier",
1416                                "name": "setC",
1417                                "decorators": [],
1418                                "loc": {
1419                                  "start": {
1420                                    "line": 1,
1421                                    "column": 1
1422                                  },
1423                                  "end": {
1424                                    "line": 1,
1425                                    "column": 1
1426                                  }
1427                                }
1428                              },
1429                              "computed": false,
1430                              "optional": false,
1431                              "loc": {
1432                                "start": {
1433                                  "line": 1,
1434                                  "column": 1
1435                                },
1436                                "end": {
1437                                  "line": 1,
1438                                  "column": 1
1439                                }
1440                              }
1441                            },
1442                            "arguments": [
1443                              {
1444                                "type": "MemberExpression",
1445                                "object": {
1446                                  "type": "ThisExpression",
1447                                  "loc": {
1448                                    "start": {
1449                                      "line": 1,
1450                                      "column": 1
1451                                    },
1452                                    "end": {
1453                                      "line": 1,
1454                                      "column": 1
1455                                    }
1456                                  }
1457                                },
1458                                "property": {
1459                                  "type": "Identifier",
1460                                  "name": "fc",
1461                                  "decorators": [],
1462                                  "loc": {
1463                                    "start": {
1464                                      "line": 30,
1465                                      "column": 33
1466                                    },
1467                                    "end": {
1468                                      "line": 30,
1469                                      "column": 35
1470                                    }
1471                                  }
1472                                },
1473                                "computed": false,
1474                                "optional": false,
1475                                "loc": {
1476                                  "start": {
1477                                    "line": 30,
1478                                    "column": 28
1479                                  },
1480                                  "end": {
1481                                    "line": 30,
1482                                    "column": 35
1483                                  }
1484                                }
1485                              }
1486                            ],
1487                            "optional": false,
1488                            "loc": {
1489                              "start": {
1490                                "line": 30,
1491                                "column": 5
1492                              },
1493                              "end": {
1494                                "line": 32,
1495                                "column": 6
1496                              }
1497                            }
1498                          },
1499                          "loc": {
1500                            "start": {
1501                              "line": 1,
1502                              "column": 1
1503                            },
1504                            "end": {
1505                              "line": 1,
1506                              "column": 1
1507                            }
1508                          }
1509                        }
1510                      ],
1511                      "loc": {
1512                        "start": {
1513                          "line": 1,
1514                          "column": 1
1515                        },
1516                        "end": {
1517                          "line": 1,
1518                          "column": 1
1519                        }
1520                      }
1521                    },
1522                    "loc": {
1523                      "start": {
1524                        "line": 839,
1525                        "column": 1
1526                      },
1527                      "end": {
1528                        "line": 839,
1529                        "column": 1
1530                      }
1531                    }
1532                  },
1533                  "loc": {
1534                    "start": {
1535                      "line": 1,
1536                      "column": 1
1537                    },
1538                    "end": {
1539                      "line": 1,
1540                      "column": 1
1541                    }
1542                  }
1543                },
1544                "overloads": [],
1545                "decorators": [],
1546                "loc": {
1547                  "start": {
1548                    "line": 30,
1549                    "column": 5
1550                  },
1551                  "end": {
1552                    "line": 1,
1553                    "column": 1
1554                  }
1555                }
1556              }
1557            ],
1558            "decorators": [],
1559            "loc": {
1560              "start": {
1561                "line": 30,
1562                "column": 5
1563              },
1564              "end": {
1565                "line": 32,
1566                "column": 6
1567              }
1568            }
1569          },
1570          {
1571            "type": "MethodDefinition",
1572            "key": {
1573              "type": "Identifier",
1574              "name": "getC",
1575              "decorators": [],
1576              "loc": {
1577                "start": {
1578                  "line": 33,
1579                  "column": 12
1580                },
1581                "end": {
1582                  "line": 33,
1583                  "column": 16
1584                }
1585              }
1586            },
1587            "kind": "method",
1588            "accessibility": "public",
1589            "static": false,
1590            "optional": false,
1591            "computed": false,
1592            "value": {
1593              "type": "FunctionExpression",
1594              "function": {
1595                "type": "ScriptFunction",
1596                "id": {
1597                  "type": "Identifier",
1598                  "name": "getC",
1599                  "decorators": [],
1600                  "loc": {
1601                    "start": {
1602                      "line": 33,
1603                      "column": 12
1604                    },
1605                    "end": {
1606                      "line": 33,
1607                      "column": 16
1608                    }
1609                  }
1610                },
1611                "generator": false,
1612                "async": false,
1613                "expression": false,
1614                "params": [],
1615                "returnType": {
1616                  "type": "ETSPrimitiveType",
1617                  "loc": {
1618                    "start": {
1619                      "line": 33,
1620                      "column": 21
1621                    },
1622                    "end": {
1623                      "line": 33,
1624                      "column": 24
1625                    }
1626                  }
1627                },
1628                "body": {
1629                  "type": "BlockStatement",
1630                  "statements": [
1631                    {
1632                      "type": "ReturnStatement",
1633                      "argument": {
1634                        "type": "MemberExpression",
1635                        "object": {
1636                          "type": "ThisExpression",
1637                          "loc": {
1638                            "start": {
1639                              "line": 34,
1640                              "column": 16
1641                            },
1642                            "end": {
1643                              "line": 34,
1644                              "column": 20
1645                            }
1646                          }
1647                        },
1648                        "property": {
1649                          "type": "Identifier",
1650                          "name": "c",
1651                          "decorators": [],
1652                          "loc": {
1653                            "start": {
1654                              "line": 34,
1655                              "column": 21
1656                            },
1657                            "end": {
1658                              "line": 34,
1659                              "column": 22
1660                            }
1661                          }
1662                        },
1663                        "computed": false,
1664                        "optional": false,
1665                        "loc": {
1666                          "start": {
1667                            "line": 34,
1668                            "column": 16
1669                          },
1670                          "end": {
1671                            "line": 34,
1672                            "column": 22
1673                          }
1674                        }
1675                      },
1676                      "loc": {
1677                        "start": {
1678                          "line": 34,
1679                          "column": 9
1680                        },
1681                        "end": {
1682                          "line": 34,
1683                          "column": 23
1684                        }
1685                      }
1686                    }
1687                  ],
1688                  "loc": {
1689                    "start": {
1690                      "line": 33,
1691                      "column": 25
1692                    },
1693                    "end": {
1694                      "line": 35,
1695                      "column": 6
1696                    }
1697                  }
1698                },
1699                "loc": {
1700                  "start": {
1701                    "line": 33,
1702                    "column": 16
1703                  },
1704                  "end": {
1705                    "line": 35,
1706                    "column": 6
1707                  }
1708                }
1709              },
1710              "loc": {
1711                "start": {
1712                  "line": 33,
1713                  "column": 16
1714                },
1715                "end": {
1716                  "line": 35,
1717                  "column": 6
1718                }
1719              }
1720            },
1721            "overloads": [],
1722            "decorators": [],
1723            "loc": {
1724              "start": {
1725                "line": 33,
1726                "column": 5
1727              },
1728              "end": {
1729                "line": 35,
1730                "column": 6
1731              }
1732            }
1733          },
1734          {
1735            "type": "MethodDefinition",
1736            "key": {
1737              "type": "Identifier",
1738              "name": "foo",
1739              "decorators": [],
1740              "loc": {
1741                "start": {
1742                  "line": 36,
1743                  "column": 12
1744                },
1745                "end": {
1746                  "line": 36,
1747                  "column": 15
1748                }
1749              }
1750            },
1751            "kind": "method",
1752            "accessibility": "public",
1753            "static": true,
1754            "optional": false,
1755            "computed": false,
1756            "value": {
1757              "type": "FunctionExpression",
1758              "function": {
1759                "type": "ScriptFunction",
1760                "id": {
1761                  "type": "Identifier",
1762                  "name": "foo",
1763                  "decorators": [],
1764                  "loc": {
1765                    "start": {
1766                      "line": 36,
1767                      "column": 12
1768                    },
1769                    "end": {
1770                      "line": 36,
1771                      "column": 15
1772                    }
1773                  }
1774                },
1775                "generator": false,
1776                "async": false,
1777                "expression": false,
1778                "params": [
1779                  {
1780                    "type": "ETSParameterExpression",
1781                    "name": {
1782                      "type": "Identifier",
1783                      "name": "param",
1784                      "typeAnnotation": {
1785                        "type": "ETSPrimitiveType",
1786                        "loc": {
1787                          "start": {
1788                            "line": 36,
1789                            "column": 23
1790                          },
1791                          "end": {
1792                            "line": 36,
1793                            "column": 26
1794                          }
1795                        }
1796                      },
1797                      "decorators": [],
1798                      "loc": {
1799                        "start": {
1800                          "line": 36,
1801                          "column": 16
1802                        },
1803                        "end": {
1804                          "line": 36,
1805                          "column": 26
1806                        }
1807                      }
1808                    },
1809                    "loc": {
1810                      "start": {
1811                        "line": 36,
1812                        "column": 16
1813                      },
1814                      "end": {
1815                        "line": 36,
1816                        "column": 31
1817                      }
1818                    }
1819                  }
1820                ],
1821                "returnType": {
1822                  "type": "ETSPrimitiveType",
1823                  "loc": {
1824                    "start": {
1825                      "line": 36,
1826                      "column": 35
1827                    },
1828                    "end": {
1829                      "line": 36,
1830                      "column": 38
1831                    }
1832                  }
1833                },
1834                "body": {
1835                  "type": "BlockStatement",
1836                  "statements": [
1837                    {
1838                      "type": "ReturnStatement",
1839                      "argument": {
1840                        "type": "BinaryExpression",
1841                        "operator": "+",
1842                        "left": {
1843                          "type": "MemberExpression",
1844                          "object": {
1845                            "type": "Identifier",
1846                            "name": "C",
1847                            "decorators": [],
1848                            "loc": {
1849                              "start": {
1850                                "line": 37,
1851                                "column": 14
1852                              },
1853                              "end": {
1854                                "line": 37,
1855                                "column": 15
1856                              }
1857                            }
1858                          },
1859                          "property": {
1860                            "type": "Identifier",
1861                            "name": "fs",
1862                            "decorators": [],
1863                            "loc": {
1864                              "start": {
1865                                "line": 37,
1866                                "column": 16
1867                              },
1868                              "end": {
1869                                "line": 37,
1870                                "column": 18
1871                              }
1872                            }
1873                          },
1874                          "computed": false,
1875                          "optional": false,
1876                          "loc": {
1877                            "start": {
1878                              "line": 37,
1879                              "column": 14
1880                            },
1881                            "end": {
1882                              "line": 37,
1883                              "column": 18
1884                            }
1885                          }
1886                        },
1887                        "right": {
1888                          "type": "Identifier",
1889                          "name": "param",
1890                          "decorators": [],
1891                          "loc": {
1892                            "start": {
1893                              "line": 37,
1894                              "column": 19
1895                            },
1896                            "end": {
1897                              "line": 37,
1898                              "column": 24
1899                            }
1900                          }
1901                        },
1902                        "loc": {
1903                          "start": {
1904                            "line": 37,
1905                            "column": 14
1906                          },
1907                          "end": {
1908                            "line": 37,
1909                            "column": 24
1910                          }
1911                        }
1912                      },
1913                      "loc": {
1914                        "start": {
1915                          "line": 37,
1916                          "column": 7
1917                        },
1918                        "end": {
1919                          "line": 37,
1920                          "column": 25
1921                        }
1922                      }
1923                    }
1924                  ],
1925                  "loc": {
1926                    "start": {
1927                      "line": 36,
1928                      "column": 39
1929                    },
1930                    "end": {
1931                      "line": 38,
1932                      "column": 6
1933                    }
1934                  }
1935                },
1936                "loc": {
1937                  "start": {
1938                    "line": 36,
1939                    "column": 15
1940                  },
1941                  "end": {
1942                    "line": 38,
1943                    "column": 6
1944                  }
1945                }
1946              },
1947              "loc": {
1948                "start": {
1949                  "line": 36,
1950                  "column": 15
1951                },
1952                "end": {
1953                  "line": 38,
1954                  "column": 6
1955                }
1956              }
1957            },
1958            "overloads": [
1959              {
1960                "type": "MethodDefinition",
1961                "key": {
1962                  "type": "Identifier",
1963                  "name": "foo",
1964                  "decorators": [],
1965                  "loc": {
1966                    "start": {
1967                      "line": 36,
1968                      "column": 12
1969                    },
1970                    "end": {
1971                      "line": 36,
1972                      "column": 15
1973                    }
1974                  }
1975                },
1976                "kind": "method",
1977                "accessibility": "public",
1978                "static": true,
1979                "optional": false,
1980                "computed": false,
1981                "value": {
1982                  "type": "FunctionExpression",
1983                  "function": {
1984                    "type": "ScriptFunction",
1985                    "id": {
1986                      "type": "Identifier",
1987                      "name": "foo",
1988                      "decorators": [],
1989                      "loc": {
1990                        "start": {
1991                          "line": 36,
1992                          "column": 12
1993                        },
1994                        "end": {
1995                          "line": 36,
1996                          "column": 15
1997                        }
1998                      }
1999                    },
2000                    "generator": false,
2001                    "async": false,
2002                    "expression": false,
2003                    "params": [],
2004                    "returnType": {
2005                      "type": "ETSPrimitiveType",
2006                      "loc": {
2007                        "start": {
2008                          "line": 36,
2009                          "column": 35
2010                        },
2011                        "end": {
2012                          "line": 36,
2013                          "column": 38
2014                        }
2015                      }
2016                    },
2017                    "body": {
2018                      "type": "BlockStatement",
2019                      "statements": [
2020                        {
2021                          "type": "ReturnStatement",
2022                          "argument": {
2023                            "type": "CallExpression",
2024                            "callee": {
2025                              "type": "MemberExpression",
2026                              "object": {
2027                                "type": "Identifier",
2028                                "name": "C",
2029                                "decorators": [],
2030                                "loc": {
2031                                  "start": {
2032                                    "line": 1,
2033                                    "column": 1
2034                                  },
2035                                  "end": {
2036                                    "line": 1,
2037                                    "column": 1
2038                                  }
2039                                }
2040                              },
2041                              "property": {
2042                                "type": "Identifier",
2043                                "name": "foo",
2044                                "decorators": [],
2045                                "loc": {
2046                                  "start": {
2047                                    "line": 1,
2048                                    "column": 1
2049                                  },
2050                                  "end": {
2051                                    "line": 1,
2052                                    "column": 1
2053                                  }
2054                                }
2055                              },
2056                              "computed": false,
2057                              "optional": false,
2058                              "loc": {
2059                                "start": {
2060                                  "line": 1,
2061                                  "column": 1
2062                                },
2063                                "end": {
2064                                  "line": 1,
2065                                  "column": 1
2066                                }
2067                              }
2068                            },
2069                            "arguments": [
2070                              {
2071                                "type": "MemberExpression",
2072                                "object": {
2073                                  "type": "Identifier",
2074                                  "name": "C",
2075                                  "decorators": [],
2076                                  "loc": {
2077                                    "start": {
2078                                      "line": 36,
2079                                      "column": 27
2080                                    },
2081                                    "end": {
2082                                      "line": 36,
2083                                      "column": 28
2084                                    }
2085                                  }
2086                                },
2087                                "property": {
2088                                  "type": "Identifier",
2089                                  "name": "fs",
2090                                  "decorators": [],
2091                                  "loc": {
2092                                    "start": {
2093                                      "line": 36,
2094                                      "column": 29
2095                                    },
2096                                    "end": {
2097                                      "line": 36,
2098                                      "column": 31
2099                                    }
2100                                  }
2101                                },
2102                                "computed": false,
2103                                "optional": false,
2104                                "loc": {
2105                                  "start": {
2106                                    "line": 36,
2107                                    "column": 27
2108                                  },
2109                                  "end": {
2110                                    "line": 36,
2111                                    "column": 31
2112                                  }
2113                                }
2114                              }
2115                            ],
2116                            "optional": false,
2117                            "loc": {
2118                              "start": {
2119                                "line": 36,
2120                                "column": 5
2121                              },
2122                              "end": {
2123                                "line": 38,
2124                                "column": 6
2125                              }
2126                            }
2127                          },
2128                          "loc": {
2129                            "start": {
2130                              "line": 1,
2131                              "column": 1
2132                            },
2133                            "end": {
2134                              "line": 1,
2135                              "column": 1
2136                            }
2137                          }
2138                        }
2139                      ],
2140                      "loc": {
2141                        "start": {
2142                          "line": 1,
2143                          "column": 1
2144                        },
2145                        "end": {
2146                          "line": 1,
2147                          "column": 1
2148                        }
2149                      }
2150                    },
2151                    "loc": {
2152                      "start": {
2153                        "line": 969,
2154                        "column": 1
2155                      },
2156                      "end": {
2157                        "line": 969,
2158                        "column": 1
2159                      }
2160                    }
2161                  },
2162                  "loc": {
2163                    "start": {
2164                      "line": 1,
2165                      "column": 1
2166                    },
2167                    "end": {
2168                      "line": 1,
2169                      "column": 1
2170                    }
2171                  }
2172                },
2173                "overloads": [],
2174                "decorators": [],
2175                "loc": {
2176                  "start": {
2177                    "line": 36,
2178                    "column": 5
2179                  },
2180                  "end": {
2181                    "line": 1,
2182                    "column": 1
2183                  }
2184                }
2185              }
2186            ],
2187            "decorators": [],
2188            "loc": {
2189              "start": {
2190                "line": 36,
2191                "column": 5
2192              },
2193              "end": {
2194                "line": 38,
2195                "column": 6
2196              }
2197            }
2198          },
2199          {
2200            "type": "MethodDefinition",
2201            "key": {
2202              "type": "Identifier",
2203              "name": "constructor",
2204              "decorators": [],
2205              "loc": {
2206                "start": {
2207                  "line": 1,
2208                  "column": 1
2209                },
2210                "end": {
2211                  "line": 1,
2212                  "column": 1
2213                }
2214              }
2215            },
2216            "kind": "constructor",
2217            "static": false,
2218            "optional": false,
2219            "computed": false,
2220            "value": {
2221              "type": "FunctionExpression",
2222              "function": {
2223                "type": "ScriptFunction",
2224                "id": {
2225                  "type": "Identifier",
2226                  "name": "constructor",
2227                  "decorators": [],
2228                  "loc": {
2229                    "start": {
2230                      "line": 1,
2231                      "column": 1
2232                    },
2233                    "end": {
2234                      "line": 1,
2235                      "column": 1
2236                    }
2237                  }
2238                },
2239                "generator": false,
2240                "async": false,
2241                "expression": false,
2242                "params": [],
2243                "body": {
2244                  "type": "BlockStatement",
2245                  "statements": [],
2246                  "loc": {
2247                    "start": {
2248                      "line": 1,
2249                      "column": 1
2250                    },
2251                    "end": {
2252                      "line": 1,
2253                      "column": 1
2254                    }
2255                  }
2256                },
2257                "loc": {
2258                  "start": {
2259                    "line": 1,
2260                    "column": 1
2261                  },
2262                  "end": {
2263                    "line": 1,
2264                    "column": 1
2265                  }
2266                }
2267              },
2268              "loc": {
2269                "start": {
2270                  "line": 1,
2271                  "column": 1
2272                },
2273                "end": {
2274                  "line": 1,
2275                  "column": 1
2276                }
2277              }
2278            },
2279            "overloads": [],
2280            "decorators": [],
2281            "loc": {
2282              "start": {
2283                "line": 39,
2284                "column": 2
2285              },
2286              "end": {
2287                "line": 39,
2288                "column": 2
2289              }
2290            }
2291          }
2292        ],
2293        "loc": {
2294          "start": {
2295            "line": 26,
2296            "column": 19
2297          },
2298          "end": {
2299            "line": 39,
2300            "column": 2
2301          }
2302        }
2303      },
2304      "loc": {
2305        "start": {
2306          "line": 26,
2307          "column": 1
2308        },
2309        "end": {
2310          "line": 39,
2311          "column": 2
2312        }
2313      }
2314    },
2315    {
2316      "type": "ClassDeclaration",
2317      "definition": {
2318        "id": {
2319          "type": "Identifier",
2320          "name": "ETSGLOBAL",
2321          "decorators": [],
2322          "loc": {
2323            "start": {
2324              "line": 1,
2325              "column": 1
2326            },
2327            "end": {
2328              "line": 1,
2329              "column": 1
2330            }
2331          }
2332        },
2333        "superClass": null,
2334        "implements": [],
2335        "body": [
2336          {
2337            "type": "MethodDefinition",
2338            "key": {
2339              "type": "Identifier",
2340              "name": "_$init$_",
2341              "decorators": [],
2342              "loc": {
2343                "start": {
2344                  "line": 1,
2345                  "column": 1
2346                },
2347                "end": {
2348                  "line": 1,
2349                  "column": 1
2350                }
2351              }
2352            },
2353            "kind": "method",
2354            "accessibility": "public",
2355            "static": true,
2356            "optional": false,
2357            "computed": false,
2358            "value": {
2359              "type": "FunctionExpression",
2360              "function": {
2361                "type": "ScriptFunction",
2362                "id": {
2363                  "type": "Identifier",
2364                  "name": "_$init$_",
2365                  "decorators": [],
2366                  "loc": {
2367                    "start": {
2368                      "line": 1,
2369                      "column": 1
2370                    },
2371                    "end": {
2372                      "line": 1,
2373                      "column": 1
2374                    }
2375                  }
2376                },
2377                "generator": false,
2378                "async": false,
2379                "expression": false,
2380                "params": [],
2381                "body": {
2382                  "type": "BlockStatement",
2383                  "statements": [],
2384                  "loc": {
2385                    "start": {
2386                      "line": 1,
2387                      "column": 1
2388                    },
2389                    "end": {
2390                      "line": 1,
2391                      "column": 1
2392                    }
2393                  }
2394                },
2395                "loc": {
2396                  "start": {
2397                    "line": 1,
2398                    "column": 1
2399                  },
2400                  "end": {
2401                    "line": 1,
2402                    "column": 1
2403                  }
2404                }
2405              },
2406              "loc": {
2407                "start": {
2408                  "line": 1,
2409                  "column": 1
2410                },
2411                "end": {
2412                  "line": 1,
2413                  "column": 1
2414                }
2415              }
2416            },
2417            "overloads": [],
2418            "decorators": [],
2419            "loc": {
2420              "start": {
2421                "line": 1,
2422                "column": 1
2423              },
2424              "end": {
2425                "line": 1,
2426                "column": 1
2427              }
2428            }
2429          },
2430          {
2431            "type": "MethodDefinition",
2432            "key": {
2433              "type": "Identifier",
2434              "name": "main",
2435              "decorators": [],
2436              "loc": {
2437                "start": {
2438                  "line": 41,
2439                  "column": 10
2440                },
2441                "end": {
2442                  "line": 41,
2443                  "column": 14
2444                }
2445              }
2446            },
2447            "kind": "method",
2448            "accessibility": "public",
2449            "static": true,
2450            "optional": false,
2451            "computed": false,
2452            "value": {
2453              "type": "FunctionExpression",
2454              "function": {
2455                "type": "ScriptFunction",
2456                "id": {
2457                  "type": "Identifier",
2458                  "name": "main",
2459                  "decorators": [],
2460                  "loc": {
2461                    "start": {
2462                      "line": 41,
2463                      "column": 10
2464                    },
2465                    "end": {
2466                      "line": 41,
2467                      "column": 14
2468                    }
2469                  }
2470                },
2471                "generator": false,
2472                "async": false,
2473                "expression": false,
2474                "params": [],
2475                "returnType": {
2476                  "type": "ETSPrimitiveType",
2477                  "loc": {
2478                    "start": {
2479                      "line": 41,
2480                      "column": 18
2481                    },
2482                    "end": {
2483                      "line": 41,
2484                      "column": 22
2485                    }
2486                  }
2487                },
2488                "body": {
2489                  "type": "BlockStatement",
2490                  "statements": [
2491                    {
2492                      "type": "VariableDeclaration",
2493                      "declarations": [
2494                        {
2495                          "type": "VariableDeclarator",
2496                          "id": {
2497                            "type": "Identifier",
2498                            "name": "b",
2499                            "typeAnnotation": {
2500                              "type": "ETSTypeReference",
2501                              "part": {
2502                                "type": "ETSTypeReferencePart",
2503                                "name": {
2504                                  "type": "Identifier",
2505                                  "name": "C",
2506                                  "decorators": [],
2507                                  "loc": {
2508                                    "start": {
2509                                      "line": 42,
2510                                      "column": 12
2511                                    },
2512                                    "end": {
2513                                      "line": 42,
2514                                      "column": 13
2515                                    }
2516                                  }
2517                                },
2518                                "loc": {
2519                                  "start": {
2520                                    "line": 42,
2521                                    "column": 12
2522                                  },
2523                                  "end": {
2524                                    "line": 42,
2525                                    "column": 15
2526                                  }
2527                                }
2528                              },
2529                              "loc": {
2530                                "start": {
2531                                  "line": 42,
2532                                  "column": 12
2533                                },
2534                                "end": {
2535                                  "line": 42,
2536                                  "column": 15
2537                                }
2538                              }
2539                            },
2540                            "decorators": [],
2541                            "loc": {
2542                              "start": {
2543                                "line": 42,
2544                                "column": 9
2545                              },
2546                              "end": {
2547                                "line": 42,
2548                                "column": 10
2549                              }
2550                            }
2551                          },
2552                          "init": {
2553                            "type": "ETSNewClassInstanceExpression",
2554                            "typeReference": {
2555                              "type": "ETSTypeReference",
2556                              "part": {
2557                                "type": "ETSTypeReferencePart",
2558                                "name": {
2559                                  "type": "Identifier",
2560                                  "name": "C",
2561                                  "decorators": [],
2562                                  "loc": {
2563                                    "start": {
2564                                      "line": 42,
2565                                      "column": 20
2566                                    },
2567                                    "end": {
2568                                      "line": 42,
2569                                      "column": 21
2570                                    }
2571                                  }
2572                                },
2573                                "loc": {
2574                                  "start": {
2575                                    "line": 42,
2576                                    "column": 20
2577                                  },
2578                                  "end": {
2579                                    "line": 42,
2580                                    "column": 22
2581                                  }
2582                                }
2583                              },
2584                              "loc": {
2585                                "start": {
2586                                  "line": 42,
2587                                  "column": 20
2588                                },
2589                                "end": {
2590                                  "line": 42,
2591                                  "column": 22
2592                                }
2593                              }
2594                            },
2595                            "arguments": [],
2596                            "loc": {
2597                              "start": {
2598                                "line": 42,
2599                                "column": 16
2600                              },
2601                              "end": {
2602                                "line": 42,
2603                                "column": 24
2604                              }
2605                            }
2606                          },
2607                          "loc": {
2608                            "start": {
2609                              "line": 42,
2610                              "column": 9
2611                            },
2612                            "end": {
2613                              "line": 42,
2614                              "column": 24
2615                            }
2616                          }
2617                        }
2618                      ],
2619                      "kind": "let",
2620                      "loc": {
2621                        "start": {
2622                          "line": 42,
2623                          "column": 5
2624                        },
2625                        "end": {
2626                          "line": 42,
2627                          "column": 24
2628                        }
2629                      }
2630                    },
2631                    {
2632                      "type": "AssertStatement",
2633                      "test": {
2634                        "type": "BinaryExpression",
2635                        "operator": "==",
2636                        "left": {
2637                          "type": "MemberExpression",
2638                          "object": {
2639                            "type": "Identifier",
2640                            "name": "b",
2641                            "decorators": [],
2642                            "loc": {
2643                              "start": {
2644                                "line": 43,
2645                                "column": 13
2646                              },
2647                              "end": {
2648                                "line": 43,
2649                                "column": 14
2650                              }
2651                            }
2652                          },
2653                          "property": {
2654                            "type": "Identifier",
2655                            "name": "a",
2656                            "decorators": [],
2657                            "loc": {
2658                              "start": {
2659                                "line": 43,
2660                                "column": 15
2661                              },
2662                              "end": {
2663                                "line": 43,
2664                                "column": 16
2665                              }
2666                            }
2667                          },
2668                          "computed": false,
2669                          "optional": false,
2670                          "loc": {
2671                            "start": {
2672                              "line": 43,
2673                              "column": 13
2674                            },
2675                            "end": {
2676                              "line": 43,
2677                              "column": 16
2678                            }
2679                          }
2680                        },
2681                        "right": {
2682                          "type": "NumberLiteral",
2683                          "value": 101,
2684                          "loc": {
2685                            "start": {
2686                              "line": 43,
2687                              "column": 20
2688                            },
2689                            "end": {
2690                              "line": 43,
2691                              "column": 23
2692                            }
2693                          }
2694                        },
2695                        "loc": {
2696                          "start": {
2697                            "line": 43,
2698                            "column": 12
2699                          },
2700                          "end": {
2701                            "line": 43,
2702                            "column": 24
2703                          }
2704                        }
2705                      },
2706                      "second": null,
2707                      "loc": {
2708                        "start": {
2709                          "line": 43,
2710                          "column": 5
2711                        },
2712                        "end": {
2713                          "line": 43,
2714                          "column": 24
2715                        }
2716                      }
2717                    },
2718                    {
2719                      "type": "ExpressionStatement",
2720                      "expression": {
2721                        "type": "CallExpression",
2722                        "callee": {
2723                          "type": "MemberExpression",
2724                          "object": {
2725                            "type": "Identifier",
2726                            "name": "b",
2727                            "decorators": [],
2728                            "loc": {
2729                              "start": {
2730                                "line": 44,
2731                                "column": 5
2732                              },
2733                              "end": {
2734                                "line": 44,
2735                                "column": 6
2736                              }
2737                            }
2738                          },
2739                          "property": {
2740                            "type": "Identifier",
2741                            "name": "setC",
2742                            "decorators": [],
2743                            "loc": {
2744                              "start": {
2745                                "line": 44,
2746                                "column": 7
2747                              },
2748                              "end": {
2749                                "line": 44,
2750                                "column": 11
2751                              }
2752                            }
2753                          },
2754                          "computed": false,
2755                          "optional": false,
2756                          "loc": {
2757                            "start": {
2758                              "line": 44,
2759                              "column": 5
2760                            },
2761                            "end": {
2762                              "line": 44,
2763                              "column": 11
2764                            }
2765                          }
2766                        },
2767                        "arguments": [],
2768                        "optional": false,
2769                        "loc": {
2770                          "start": {
2771                            "line": 44,
2772                            "column": 5
2773                          },
2774                          "end": {
2775                            "line": 44,
2776                            "column": 13
2777                          }
2778                        }
2779                      },
2780                      "loc": {
2781                        "start": {
2782                          "line": 44,
2783                          "column": 5
2784                        },
2785                        "end": {
2786                          "line": 44,
2787                          "column": 14
2788                        }
2789                      }
2790                    },
2791                    {
2792                      "type": "AssertStatement",
2793                      "test": {
2794                        "type": "BinaryExpression",
2795                        "operator": "==",
2796                        "left": {
2797                          "type": "CallExpression",
2798                          "callee": {
2799                            "type": "MemberExpression",
2800                            "object": {
2801                              "type": "Identifier",
2802                              "name": "b",
2803                              "decorators": [],
2804                              "loc": {
2805                                "start": {
2806                                  "line": 45,
2807                                  "column": 12
2808                                },
2809                                "end": {
2810                                  "line": 45,
2811                                  "column": 13
2812                                }
2813                              }
2814                            },
2815                            "property": {
2816                              "type": "Identifier",
2817                              "name": "getC",
2818                              "decorators": [],
2819                              "loc": {
2820                                "start": {
2821                                  "line": 45,
2822                                  "column": 14
2823                                },
2824                                "end": {
2825                                  "line": 45,
2826                                  "column": 18
2827                                }
2828                              }
2829                            },
2830                            "computed": false,
2831                            "optional": false,
2832                            "loc": {
2833                              "start": {
2834                                "line": 45,
2835                                "column": 12
2836                              },
2837                              "end": {
2838                                "line": 45,
2839                                "column": 18
2840                              }
2841                            }
2842                          },
2843                          "arguments": [],
2844                          "optional": false,
2845                          "loc": {
2846                            "start": {
2847                              "line": 45,
2848                              "column": 12
2849                            },
2850                            "end": {
2851                              "line": 45,
2852                              "column": 20
2853                            }
2854                          }
2855                        },
2856                        "right": {
2857                          "type": "NumberLiteral",
2858                          "value": 10001,
2859                          "loc": {
2860                            "start": {
2861                              "line": 45,
2862                              "column": 24
2863                            },
2864                            "end": {
2865                              "line": 45,
2866                              "column": 29
2867                            }
2868                          }
2869                        },
2870                        "loc": {
2871                          "start": {
2872                            "line": 45,
2873                            "column": 11
2874                          },
2875                          "end": {
2876                            "line": 45,
2877                            "column": 30
2878                          }
2879                        }
2880                      },
2881                      "second": null,
2882                      "loc": {
2883                        "start": {
2884                          "line": 45,
2885                          "column": 5
2886                        },
2887                        "end": {
2888                          "line": 45,
2889                          "column": 30
2890                        }
2891                      }
2892                    },
2893                    {
2894                      "type": "AssertStatement",
2895                      "test": {
2896                        "type": "BinaryExpression",
2897                        "operator": "==",
2898                        "left": {
2899                          "type": "CallExpression",
2900                          "callee": {
2901                            "type": "MemberExpression",
2902                            "object": {
2903                              "type": "Identifier",
2904                              "name": "C",
2905                              "decorators": [],
2906                              "loc": {
2907                                "start": {
2908                                  "line": 46,
2909                                  "column": 12
2910                                },
2911                                "end": {
2912                                  "line": 46,
2913                                  "column": 13
2914                                }
2915                              }
2916                            },
2917                            "property": {
2918                              "type": "Identifier",
2919                              "name": "foo",
2920                              "decorators": [],
2921                              "loc": {
2922                                "start": {
2923                                  "line": 46,
2924                                  "column": 14
2925                                },
2926                                "end": {
2927                                  "line": 46,
2928                                  "column": 17
2929                                }
2930                              }
2931                            },
2932                            "computed": false,
2933                            "optional": false,
2934                            "loc": {
2935                              "start": {
2936                                "line": 46,
2937                                "column": 12
2938                              },
2939                              "end": {
2940                                "line": 46,
2941                                "column": 17
2942                              }
2943                            }
2944                          },
2945                          "arguments": [],
2946                          "optional": false,
2947                          "loc": {
2948                            "start": {
2949                              "line": 46,
2950                              "column": 12
2951                            },
2952                            "end": {
2953                              "line": 46,
2954                              "column": 19
2955                            }
2956                          }
2957                        },
2958                        "right": {
2959                          "type": "BinaryExpression",
2960                          "operator": "*",
2961                          "left": {
2962                            "type": "MemberExpression",
2963                            "object": {
2964                              "type": "Identifier",
2965                              "name": "C",
2966                              "decorators": [],
2967                              "loc": {
2968                                "start": {
2969                                  "line": 46,
2970                                  "column": 24
2971                                },
2972                                "end": {
2973                                  "line": 46,
2974                                  "column": 25
2975                                }
2976                              }
2977                            },
2978                            "property": {
2979                              "type": "Identifier",
2980                              "name": "fs",
2981                              "decorators": [],
2982                              "loc": {
2983                                "start": {
2984                                  "line": 46,
2985                                  "column": 26
2986                                },
2987                                "end": {
2988                                  "line": 46,
2989                                  "column": 28
2990                                }
2991                              }
2992                            },
2993                            "computed": false,
2994                            "optional": false,
2995                            "loc": {
2996                              "start": {
2997                                "line": 46,
2998                                "column": 24
2999                              },
3000                              "end": {
3001                                "line": 46,
3002                                "column": 28
3003                              }
3004                            }
3005                          },
3006                          "right": {
3007                            "type": "NumberLiteral",
3008                            "value": 2,
3009                            "loc": {
3010                              "start": {
3011                                "line": 46,
3012                                "column": 29
3013                              },
3014                              "end": {
3015                                "line": 46,
3016                                "column": 30
3017                              }
3018                            }
3019                          },
3020                          "loc": {
3021                            "start": {
3022                              "line": 46,
3023                              "column": 23
3024                            },
3025                            "end": {
3026                              "line": 46,
3027                              "column": 31
3028                            }
3029                          }
3030                        },
3031                        "loc": {
3032                          "start": {
3033                            "line": 46,
3034                            "column": 11
3035                          },
3036                          "end": {
3037                            "line": 46,
3038                            "column": 32
3039                          }
3040                        }
3041                      },
3042                      "second": null,
3043                      "loc": {
3044                        "start": {
3045                          "line": 46,
3046                          "column": 5
3047                        },
3048                        "end": {
3049                          "line": 46,
3050                          "column": 32
3051                        }
3052                      }
3053                    }
3054                  ],
3055                  "loc": {
3056                    "start": {
3057                      "line": 41,
3058                      "column": 23
3059                    },
3060                    "end": {
3061                      "line": 47,
3062                      "column": 2
3063                    }
3064                  }
3065                },
3066                "loc": {
3067                  "start": {
3068                    "line": 41,
3069                    "column": 14
3070                  },
3071                  "end": {
3072                    "line": 47,
3073                    "column": 2
3074                  }
3075                }
3076              },
3077              "loc": {
3078                "start": {
3079                  "line": 41,
3080                  "column": 14
3081                },
3082                "end": {
3083                  "line": 47,
3084                  "column": 2
3085                }
3086              }
3087            },
3088            "overloads": [],
3089            "decorators": [],
3090            "loc": {
3091              "start": {
3092                "line": 41,
3093                "column": 1
3094              },
3095              "end": {
3096                "line": 47,
3097                "column": 2
3098              }
3099            }
3100          }
3101        ],
3102        "loc": {
3103          "start": {
3104            "line": 1,
3105            "column": 1
3106          },
3107          "end": {
3108            "line": 1,
3109            "column": 1
3110          }
3111        }
3112      },
3113      "loc": {
3114        "start": {
3115          "line": 1,
3116          "column": 1
3117        },
3118        "end": {
3119          "line": 1,
3120          "column": 1
3121        }
3122      }
3123    }
3124  ],
3125  "loc": {
3126    "start": {
3127      "line": 1,
3128      "column": 1
3129    },
3130    "end": {
3131      "line": 48,
3132      "column": 1
3133    }
3134  }
3135}
3136