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