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