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