• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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              "program": "function.ets"
16            },
17            "end": {
18              "line": 1,
19              "column": 1,
20              "program": "function.ets"
21            }
22          }
23        },
24        "superClass": null,
25        "implements": [],
26        "body": [
27          {
28            "type": "MethodDefinition",
29            "key": {
30              "type": "Identifier",
31              "name": "main",
32              "decorators": [],
33              "loc": {
34                "start": {
35                  "line": 1,
36                  "column": 1,
37                  "program": null
38                },
39                "end": {
40                  "line": 1,
41                  "column": 1,
42                  "program": null
43                }
44              }
45            },
46            "kind": "method",
47            "accessibility": "public",
48            "static": true,
49            "optional": false,
50            "computed": false,
51            "value": {
52              "type": "FunctionExpression",
53              "function": {
54                "type": "ScriptFunction",
55                "id": {
56                  "type": "Identifier",
57                  "name": "main",
58                  "decorators": [],
59                  "loc": {
60                    "start": {
61                      "line": 1,
62                      "column": 1,
63                      "program": null
64                    },
65                    "end": {
66                      "line": 1,
67                      "column": 1,
68                      "program": null
69                    }
70                  }
71                },
72                "generator": false,
73                "async": false,
74                "expression": false,
75                "params": [],
76                "body": {
77                  "type": "BlockStatement",
78                  "statements": [],
79                  "loc": {
80                    "start": {
81                      "line": 1,
82                      "column": 1,
83                      "program": null
84                    },
85                    "end": {
86                      "line": 1,
87                      "column": 1,
88                      "program": null
89                    }
90                  }
91                },
92                "loc": {
93                  "start": {
94                    "line": 1,
95                    "column": 1,
96                    "program": null
97                  },
98                  "end": {
99                    "line": 1,
100                    "column": 1,
101                    "program": null
102                  }
103                }
104              },
105              "loc": {
106                "start": {
107                  "line": 1,
108                  "column": 1,
109                  "program": null
110                },
111                "end": {
112                  "line": 1,
113                  "column": 1,
114                  "program": null
115                }
116              }
117            },
118            "overloads": [],
119            "decorators": [],
120            "loc": {
121              "start": {
122                "line": 1,
123                "column": 1,
124                "program": "function.ets"
125              },
126              "end": {
127                "line": 1,
128                "column": 1,
129                "program": "function.ets"
130              }
131            }
132          },
133          {
134            "type": "MethodDefinition",
135            "key": {
136              "type": "Identifier",
137              "name": "_$init$_",
138              "decorators": [],
139              "loc": {
140                "start": {
141                  "line": 1,
142                  "column": 1,
143                  "program": null
144                },
145                "end": {
146                  "line": 1,
147                  "column": 1,
148                  "program": null
149                }
150              }
151            },
152            "kind": "method",
153            "accessibility": "public",
154            "static": true,
155            "optional": false,
156            "computed": false,
157            "value": {
158              "type": "FunctionExpression",
159              "function": {
160                "type": "ScriptFunction",
161                "id": {
162                  "type": "Identifier",
163                  "name": "_$init$_",
164                  "decorators": [],
165                  "loc": {
166                    "start": {
167                      "line": 1,
168                      "column": 1,
169                      "program": null
170                    },
171                    "end": {
172                      "line": 1,
173                      "column": 1,
174                      "program": null
175                    }
176                  }
177                },
178                "generator": false,
179                "async": false,
180                "expression": false,
181                "params": [],
182                "body": {
183                  "type": "BlockStatement",
184                  "statements": [
185                    {
186                      "type": "ExpressionStatement",
187                      "expression": {
188                        "type": "AssignmentExpression",
189                        "operator": "=",
190                        "left": {
191                          "type": "Identifier",
192                          "name": "int2str",
193                          "decorators": [],
194                          "loc": {
195                            "start": {
196                              "line": 34,
197                              "column": 5,
198                              "program": "function.ets"
199                            },
200                            "end": {
201                              "line": 34,
202                              "column": 12,
203                              "program": "function.ets"
204                            }
205                          }
206                        },
207                        "right": {
208                          "type": "ArrowFunctionExpression",
209                          "function": {
210                            "type": "ScriptFunction",
211                            "id": null,
212                            "generator": false,
213                            "async": false,
214                            "expression": false,
215                            "params": [
216                              {
217                                "type": "ETSParameterExpression",
218                                "name": {
219                                  "type": "Identifier",
220                                  "name": "i",
221                                  "typeAnnotation": {
222                                    "type": "ETSPrimitiveType",
223                                    "loc": {
224                                      "start": {
225                                        "line": 34,
226                                        "column": 39,
227                                        "program": "function.ets"
228                                      },
229                                      "end": {
230                                        "line": 34,
231                                        "column": 42,
232                                        "program": "function.ets"
233                                      }
234                                    }
235                                  },
236                                  "decorators": [],
237                                  "loc": {
238                                    "start": {
239                                      "line": 34,
240                                      "column": 36,
241                                      "program": "function.ets"
242                                    },
243                                    "end": {
244                                      "line": 34,
245                                      "column": 42,
246                                      "program": "function.ets"
247                                    }
248                                  }
249                                },
250                                "loc": {
251                                  "start": {
252                                    "line": 34,
253                                    "column": 36,
254                                    "program": "function.ets"
255                                  },
256                                  "end": {
257                                    "line": 34,
258                                    "column": 42,
259                                    "program": "function.ets"
260                                  }
261                                }
262                              }
263                            ],
264                            "returnType": {
265                              "type": "ETSTypeReference",
266                              "part": {
267                                "type": "ETSTypeReferencePart",
268                                "name": {
269                                  "type": "Identifier",
270                                  "name": "String",
271                                  "decorators": [],
272                                  "loc": {
273                                    "start": {
274                                      "line": 34,
275                                      "column": 45,
276                                      "program": "function.ets"
277                                    },
278                                    "end": {
279                                      "line": 34,
280                                      "column": 51,
281                                      "program": "function.ets"
282                                    }
283                                  }
284                                },
285                                "loc": {
286                                  "start": {
287                                    "line": 34,
288                                    "column": 45,
289                                    "program": "function.ets"
290                                  },
291                                  "end": {
292                                    "line": 34,
293                                    "column": 54,
294                                    "program": "function.ets"
295                                  }
296                                }
297                              },
298                              "loc": {
299                                "start": {
300                                  "line": 34,
301                                  "column": 45,
302                                  "program": "function.ets"
303                                },
304                                "end": {
305                                  "line": 34,
306                                  "column": 54,
307                                  "program": "function.ets"
308                                }
309                              }
310                            },
311                            "body": {
312                              "type": "BlockStatement",
313                              "statements": [
314                                {
315                                  "type": "ReturnStatement",
316                                  "argument": {
317                                    "type": "StringLiteral",
318                                    "value": "",
319                                    "loc": {
320                                      "start": {
321                                        "line": 35,
322                                        "column": 12,
323                                        "program": "function.ets"
324                                      },
325                                      "end": {
326                                        "line": 35,
327                                        "column": 14,
328                                        "program": "function.ets"
329                                      }
330                                    }
331                                  },
332                                  "loc": {
333                                    "start": {
334                                      "line": 35,
335                                      "column": 5,
336                                      "program": "function.ets"
337                                    },
338                                    "end": {
339                                      "line": 35,
340                                      "column": 15,
341                                      "program": "function.ets"
342                                    }
343                                  }
344                                }
345                              ],
346                              "loc": {
347                                "start": {
348                                  "line": 34,
349                                  "column": 55,
350                                  "program": "function.ets"
351                                },
352                                "end": {
353                                  "line": 36,
354                                  "column": 2,
355                                  "program": "function.ets"
356                                }
357                              }
358                            },
359                            "loc": {
360                              "start": {
361                                "line": 34,
362                                "column": 35,
363                                "program": "function.ets"
364                              },
365                              "end": {
366                                "line": 36,
367                                "column": 2,
368                                "program": "function.ets"
369                              }
370                            }
371                          },
372                          "loc": {
373                            "start": {
374                              "line": 34,
375                              "column": 35,
376                              "program": "function.ets"
377                            },
378                            "end": {
379                              "line": 36,
380                              "column": 2,
381                              "program": "function.ets"
382                            }
383                          }
384                        },
385                        "loc": {
386                          "start": {
387                            "line": 34,
388                            "column": 5,
389                            "program": "function.ets"
390                          },
391                          "end": {
392                            "line": 36,
393                            "column": 2,
394                            "program": "function.ets"
395                          }
396                        }
397                      },
398                      "loc": {
399                        "start": {
400                          "line": 34,
401                          "column": 5,
402                          "program": "function.ets"
403                        },
404                        "end": {
405                          "line": 36,
406                          "column": 2,
407                          "program": "function.ets"
408                        }
409                      }
410                    }
411                  ],
412                  "loc": {
413                    "start": {
414                      "line": 1,
415                      "column": 1,
416                      "program": null
417                    },
418                    "end": {
419                      "line": 1,
420                      "column": 1,
421                      "program": null
422                    }
423                  }
424                },
425                "loc": {
426                  "start": {
427                    "line": 1,
428                    "column": 1,
429                    "program": null
430                  },
431                  "end": {
432                    "line": 1,
433                    "column": 1,
434                    "program": null
435                  }
436                }
437              },
438              "loc": {
439                "start": {
440                  "line": 1,
441                  "column": 1,
442                  "program": null
443                },
444                "end": {
445                  "line": 1,
446                  "column": 1,
447                  "program": null
448                }
449              }
450            },
451            "overloads": [],
452            "decorators": [],
453            "loc": {
454              "start": {
455                "line": 1,
456                "column": 1,
457                "program": "function.ets"
458              },
459              "end": {
460                "line": 1,
461                "column": 1,
462                "program": "function.ets"
463              }
464            }
465          },
466          {
467            "type": "MethodDefinition",
468            "key": {
469              "type": "Identifier",
470              "name": "attr",
471              "decorators": [],
472              "loc": {
473                "start": {
474                  "line": 17,
475                  "column": 10,
476                  "program": "function.ets"
477                },
478                "end": {
479                  "line": 17,
480                  "column": 14,
481                  "program": "function.ets"
482                }
483              }
484            },
485            "kind": "method",
486            "accessibility": "public",
487            "static": true,
488            "optional": false,
489            "computed": false,
490            "value": {
491              "type": "FunctionExpression",
492              "function": {
493                "type": "ScriptFunction",
494                "id": {
495                  "type": "Identifier",
496                  "name": "attr",
497                  "decorators": [],
498                  "loc": {
499                    "start": {
500                      "line": 17,
501                      "column": 10,
502                      "program": "function.ets"
503                    },
504                    "end": {
505                      "line": 17,
506                      "column": 14,
507                      "program": "function.ets"
508                    }
509                  }
510                },
511                "generator": false,
512                "async": false,
513                "expression": false,
514                "params": [
515                  {
516                    "type": "ETSParameterExpression",
517                    "name": {
518                      "type": "Identifier",
519                      "name": "name",
520                      "typeAnnotation": {
521                        "type": "ETSTypeReference",
522                        "part": {
523                          "type": "ETSTypeReferencePart",
524                          "name": {
525                            "type": "Identifier",
526                            "name": "String",
527                            "decorators": [],
528                            "loc": {
529                              "start": {
530                                "line": 17,
531                                "column": 21,
532                                "program": "function.ets"
533                              },
534                              "end": {
535                                "line": 17,
536                                "column": 27,
537                                "program": "function.ets"
538                              }
539                            }
540                          },
541                          "loc": {
542                            "start": {
543                              "line": 17,
544                              "column": 21,
545                              "program": "function.ets"
546                            },
547                            "end": {
548                              "line": 17,
549                              "column": 28,
550                              "program": "function.ets"
551                            }
552                          }
553                        },
554                        "loc": {
555                          "start": {
556                            "line": 17,
557                            "column": 21,
558                            "program": "function.ets"
559                          },
560                          "end": {
561                            "line": 17,
562                            "column": 28,
563                            "program": "function.ets"
564                          }
565                        }
566                      },
567                      "decorators": [],
568                      "loc": {
569                        "start": {
570                          "line": 17,
571                          "column": 15,
572                          "program": "function.ets"
573                        },
574                        "end": {
575                          "line": 17,
576                          "column": 28,
577                          "program": "function.ets"
578                        }
579                      }
580                    },
581                    "loc": {
582                      "start": {
583                        "line": 17,
584                        "column": 15,
585                        "program": "function.ets"
586                      },
587                      "end": {
588                        "line": 17,
589                        "column": 28,
590                        "program": "function.ets"
591                      }
592                    }
593                  }
594                ],
595                "returnType": {
596                  "type": "ETSTypeReference",
597                  "part": {
598                    "type": "ETSTypeReferencePart",
599                    "name": {
600                      "type": "Identifier",
601                      "name": "String",
602                      "decorators": [],
603                      "loc": {
604                        "start": {
605                          "line": 17,
606                          "column": 30,
607                          "program": "function.ets"
608                        },
609                        "end": {
610                          "line": 17,
611                          "column": 36,
612                          "program": "function.ets"
613                        }
614                      }
615                    },
616                    "loc": {
617                      "start": {
618                        "line": 17,
619                        "column": 30,
620                        "program": "function.ets"
621                      },
622                      "end": {
623                        "line": 17,
624                        "column": 38,
625                        "program": "function.ets"
626                      }
627                    }
628                  },
629                  "loc": {
630                    "start": {
631                      "line": 17,
632                      "column": 30,
633                      "program": "function.ets"
634                    },
635                    "end": {
636                      "line": 17,
637                      "column": 38,
638                      "program": "function.ets"
639                    }
640                  }
641                },
642                "body": {
643                  "type": "BlockStatement",
644                  "statements": [
645                    {
646                      "type": "ReturnStatement",
647                      "argument": {
648                        "type": "StringLiteral",
649                        "value": "",
650                        "loc": {
651                          "start": {
652                            "line": 18,
653                            "column": 10,
654                            "program": "function.ets"
655                          },
656                          "end": {
657                            "line": 18,
658                            "column": 12,
659                            "program": "function.ets"
660                          }
661                        }
662                      },
663                      "loc": {
664                        "start": {
665                          "line": 18,
666                          "column": 3,
667                          "program": "function.ets"
668                        },
669                        "end": {
670                          "line": 18,
671                          "column": 13,
672                          "program": "function.ets"
673                        }
674                      }
675                    }
676                  ],
677                  "loc": {
678                    "start": {
679                      "line": 17,
680                      "column": 37,
681                      "program": "function.ets"
682                    },
683                    "end": {
684                      "line": 19,
685                      "column": 2,
686                      "program": "function.ets"
687                    }
688                  }
689                },
690                "loc": {
691                  "start": {
692                    "line": 17,
693                    "column": 10,
694                    "program": "function.ets"
695                  },
696                  "end": {
697                    "line": 19,
698                    "column": 2,
699                    "program": "function.ets"
700                  }
701                }
702              },
703              "loc": {
704                "start": {
705                  "line": 17,
706                  "column": 10,
707                  "program": "function.ets"
708                },
709                "end": {
710                  "line": 19,
711                  "column": 2,
712                  "program": "function.ets"
713                }
714              }
715            },
716            "overloads": [
717              {
718                "type": "MethodDefinition",
719                "key": {
720                  "type": "Identifier",
721                  "name": "attr",
722                  "decorators": [],
723                  "loc": {
724                    "start": {
725                      "line": 21,
726                      "column": 10,
727                      "program": "function.ets"
728                    },
729                    "end": {
730                      "line": 21,
731                      "column": 14,
732                      "program": "function.ets"
733                    }
734                  }
735                },
736                "kind": "method",
737                "accessibility": "public",
738                "static": true,
739                "optional": false,
740                "computed": false,
741                "value": {
742                  "type": "FunctionExpression",
743                  "function": {
744                    "type": "ScriptFunction",
745                    "id": {
746                      "type": "Identifier",
747                      "name": "attr",
748                      "decorators": [],
749                      "loc": {
750                        "start": {
751                          "line": 21,
752                          "column": 10,
753                          "program": "function.ets"
754                        },
755                        "end": {
756                          "line": 21,
757                          "column": 14,
758                          "program": "function.ets"
759                        }
760                      }
761                    },
762                    "generator": false,
763                    "async": false,
764                    "expression": false,
765                    "params": [
766                      {
767                        "type": "ETSParameterExpression",
768                        "name": {
769                          "type": "Identifier",
770                          "name": "name",
771                          "typeAnnotation": {
772                            "type": "ETSTypeReference",
773                            "part": {
774                              "type": "ETSTypeReferencePart",
775                              "name": {
776                                "type": "Identifier",
777                                "name": "String",
778                                "decorators": [],
779                                "loc": {
780                                  "start": {
781                                    "line": 21,
782                                    "column": 21,
783                                    "program": "function.ets"
784                                  },
785                                  "end": {
786                                    "line": 21,
787                                    "column": 27,
788                                    "program": "function.ets"
789                                  }
790                                }
791                              },
792                              "loc": {
793                                "start": {
794                                  "line": 21,
795                                  "column": 21,
796                                  "program": "function.ets"
797                                },
798                                "end": {
799                                  "line": 21,
800                                  "column": 28,
801                                  "program": "function.ets"
802                                }
803                              }
804                            },
805                            "loc": {
806                              "start": {
807                                "line": 21,
808                                "column": 21,
809                                "program": "function.ets"
810                              },
811                              "end": {
812                                "line": 21,
813                                "column": 28,
814                                "program": "function.ets"
815                              }
816                            }
817                          },
818                          "decorators": [],
819                          "loc": {
820                            "start": {
821                              "line": 21,
822                              "column": 15,
823                              "program": "function.ets"
824                            },
825                            "end": {
826                              "line": 21,
827                              "column": 28,
828                              "program": "function.ets"
829                            }
830                          }
831                        },
832                        "loc": {
833                          "start": {
834                            "line": 21,
835                            "column": 15,
836                            "program": "function.ets"
837                          },
838                          "end": {
839                            "line": 21,
840                            "column": 28,
841                            "program": "function.ets"
842                          }
843                        }
844                      },
845                      {
846                        "type": "ETSParameterExpression",
847                        "name": {
848                          "type": "Identifier",
849                          "name": "value",
850                          "typeAnnotation": {
851                            "type": "ETSTypeReference",
852                            "part": {
853                              "type": "ETSTypeReferencePart",
854                              "name": {
855                                "type": "Identifier",
856                                "name": "String",
857                                "decorators": [],
858                                "loc": {
859                                  "start": {
860                                    "line": 21,
861                                    "column": 36,
862                                    "program": "function.ets"
863                                  },
864                                  "end": {
865                                    "line": 21,
866                                    "column": 42,
867                                    "program": "function.ets"
868                                  }
869                                }
870                              },
871                              "loc": {
872                                "start": {
873                                  "line": 21,
874                                  "column": 36,
875                                  "program": "function.ets"
876                                },
877                                "end": {
878                                  "line": 21,
879                                  "column": 43,
880                                  "program": "function.ets"
881                                }
882                              }
883                            },
884                            "loc": {
885                              "start": {
886                                "line": 21,
887                                "column": 36,
888                                "program": "function.ets"
889                              },
890                              "end": {
891                                "line": 21,
892                                "column": 43,
893                                "program": "function.ets"
894                              }
895                            }
896                          },
897                          "decorators": [],
898                          "loc": {
899                            "start": {
900                              "line": 21,
901                              "column": 29,
902                              "program": "function.ets"
903                            },
904                            "end": {
905                              "line": 21,
906                              "column": 43,
907                              "program": "function.ets"
908                            }
909                          }
910                        },
911                        "loc": {
912                          "start": {
913                            "line": 21,
914                            "column": 29,
915                            "program": "function.ets"
916                          },
917                          "end": {
918                            "line": 21,
919                            "column": 43,
920                            "program": "function.ets"
921                          }
922                        }
923                      }
924                    ],
925                    "returnType": {
926                      "type": "ETSPrimitiveType",
927                      "loc": {
928                        "start": {
929                          "line": 21,
930                          "column": 45,
931                          "program": "function.ets"
932                        },
933                        "end": {
934                          "line": 21,
935                          "column": 48,
936                          "program": "function.ets"
937                        }
938                      }
939                    },
940                    "body": {
941                      "type": "BlockStatement",
942                      "statements": [
943                        {
944                          "type": "ReturnStatement",
945                          "argument": {
946                            "type": "NumberLiteral",
947                            "value": 0,
948                            "loc": {
949                              "start": {
950                                "line": 22,
951                                "column": 10,
952                                "program": "function.ets"
953                              },
954                              "end": {
955                                "line": 22,
956                                "column": 11,
957                                "program": "function.ets"
958                              }
959                            }
960                          },
961                          "loc": {
962                            "start": {
963                              "line": 22,
964                              "column": 3,
965                              "program": "function.ets"
966                            },
967                            "end": {
968                              "line": 22,
969                              "column": 12,
970                              "program": "function.ets"
971                            }
972                          }
973                        }
974                      ],
975                      "loc": {
976                        "start": {
977                          "line": 21,
978                          "column": 49,
979                          "program": "function.ets"
980                        },
981                        "end": {
982                          "line": 23,
983                          "column": 2,
984                          "program": "function.ets"
985                        }
986                      }
987                    },
988                    "loc": {
989                      "start": {
990                        "line": 21,
991                        "column": 10,
992                        "program": "function.ets"
993                      },
994                      "end": {
995                        "line": 23,
996                        "column": 2,
997                        "program": "function.ets"
998                      }
999                    }
1000                  },
1001                  "loc": {
1002                    "start": {
1003                      "line": 21,
1004                      "column": 10,
1005                      "program": "function.ets"
1006                    },
1007                    "end": {
1008                      "line": 23,
1009                      "column": 2,
1010                      "program": "function.ets"
1011                    }
1012                  }
1013                },
1014                "overloads": [],
1015                "decorators": [],
1016                "loc": {
1017                  "start": {
1018                    "line": 21,
1019                    "column": 1,
1020                    "program": "function.ets"
1021                  },
1022                  "end": {
1023                    "line": 23,
1024                    "column": 2,
1025                    "program": "function.ets"
1026                  }
1027                }
1028              },
1029              {
1030                "type": "MethodDefinition",
1031                "key": {
1032                  "type": "Identifier",
1033                  "name": "attr",
1034                  "decorators": [],
1035                  "loc": {
1036                    "start": {
1037                      "line": 25,
1038                      "column": 10,
1039                      "program": "function.ets"
1040                    },
1041                    "end": {
1042                      "line": 25,
1043                      "column": 14,
1044                      "program": "function.ets"
1045                    }
1046                  }
1047                },
1048                "kind": "method",
1049                "accessibility": "public",
1050                "static": true,
1051                "optional": false,
1052                "computed": false,
1053                "value": {
1054                  "type": "FunctionExpression",
1055                  "function": {
1056                    "type": "ScriptFunction",
1057                    "id": {
1058                      "type": "Identifier",
1059                      "name": "attr",
1060                      "decorators": [],
1061                      "loc": {
1062                        "start": {
1063                          "line": 25,
1064                          "column": 10,
1065                          "program": "function.ets"
1066                        },
1067                        "end": {
1068                          "line": 25,
1069                          "column": 14,
1070                          "program": "function.ets"
1071                        }
1072                      }
1073                    },
1074                    "generator": false,
1075                    "async": false,
1076                    "expression": false,
1077                    "params": [
1078                      {
1079                        "type": "ETSParameterExpression",
1080                        "name": {
1081                          "type": "Identifier",
1082                          "name": "map",
1083                          "typeAnnotation": {
1084                            "type": "ETSTypeReference",
1085                            "part": {
1086                              "type": "ETSTypeReferencePart",
1087                              "name": {
1088                                "type": "Identifier",
1089                                "name": "Object",
1090                                "decorators": [],
1091                                "loc": {
1092                                  "start": {
1093                                    "line": 25,
1094                                    "column": 20,
1095                                    "program": "function.ets"
1096                                  },
1097                                  "end": {
1098                                    "line": 25,
1099                                    "column": 26,
1100                                    "program": "function.ets"
1101                                  }
1102                                }
1103                              },
1104                              "loc": {
1105                                "start": {
1106                                  "line": 25,
1107                                  "column": 20,
1108                                  "program": "function.ets"
1109                                },
1110                                "end": {
1111                                  "line": 25,
1112                                  "column": 27,
1113                                  "program": "function.ets"
1114                                }
1115                              }
1116                            },
1117                            "loc": {
1118                              "start": {
1119                                "line": 25,
1120                                "column": 20,
1121                                "program": "function.ets"
1122                              },
1123                              "end": {
1124                                "line": 25,
1125                                "column": 27,
1126                                "program": "function.ets"
1127                              }
1128                            }
1129                          },
1130                          "decorators": [],
1131                          "loc": {
1132                            "start": {
1133                              "line": 25,
1134                              "column": 15,
1135                              "program": "function.ets"
1136                            },
1137                            "end": {
1138                              "line": 25,
1139                              "column": 27,
1140                              "program": "function.ets"
1141                            }
1142                          }
1143                        },
1144                        "loc": {
1145                          "start": {
1146                            "line": 25,
1147                            "column": 15,
1148                            "program": "function.ets"
1149                          },
1150                          "end": {
1151                            "line": 25,
1152                            "column": 27,
1153                            "program": "function.ets"
1154                          }
1155                        }
1156                      }
1157                    ],
1158                    "returnType": {
1159                      "type": "ETSPrimitiveType",
1160                      "loc": {
1161                        "start": {
1162                          "line": 25,
1163                          "column": 29,
1164                          "program": "function.ets"
1165                        },
1166                        "end": {
1167                          "line": 25,
1168                          "column": 32,
1169                          "program": "function.ets"
1170                        }
1171                      }
1172                    },
1173                    "body": {
1174                      "type": "BlockStatement",
1175                      "statements": [
1176                        {
1177                          "type": "ReturnStatement",
1178                          "argument": {
1179                            "type": "NumberLiteral",
1180                            "value": -1,
1181                            "loc": {
1182                              "start": {
1183                                "line": 26,
1184                                "column": 10,
1185                                "program": "function.ets"
1186                              },
1187                              "end": {
1188                                "line": 26,
1189                                "column": 12,
1190                                "program": "function.ets"
1191                              }
1192                            }
1193                          },
1194                          "loc": {
1195                            "start": {
1196                              "line": 26,
1197                              "column": 3,
1198                              "program": "function.ets"
1199                            },
1200                            "end": {
1201                              "line": 26,
1202                              "column": 13,
1203                              "program": "function.ets"
1204                            }
1205                          }
1206                        }
1207                      ],
1208                      "loc": {
1209                        "start": {
1210                          "line": 25,
1211                          "column": 33,
1212                          "program": "function.ets"
1213                        },
1214                        "end": {
1215                          "line": 27,
1216                          "column": 2,
1217                          "program": "function.ets"
1218                        }
1219                      }
1220                    },
1221                    "loc": {
1222                      "start": {
1223                        "line": 25,
1224                        "column": 10,
1225                        "program": "function.ets"
1226                      },
1227                      "end": {
1228                        "line": 27,
1229                        "column": 2,
1230                        "program": "function.ets"
1231                      }
1232                    }
1233                  },
1234                  "loc": {
1235                    "start": {
1236                      "line": 25,
1237                      "column": 10,
1238                      "program": "function.ets"
1239                    },
1240                    "end": {
1241                      "line": 27,
1242                      "column": 2,
1243                      "program": "function.ets"
1244                    }
1245                  }
1246                },
1247                "overloads": [],
1248                "decorators": [],
1249                "loc": {
1250                  "start": {
1251                    "line": 25,
1252                    "column": 1,
1253                    "program": "function.ets"
1254                  },
1255                  "end": {
1256                    "line": 27,
1257                    "column": 2,
1258                    "program": "function.ets"
1259                  }
1260                }
1261              },
1262              {
1263                "type": "MethodDefinition",
1264                "key": {
1265                  "type": "Identifier",
1266                  "name": "attr",
1267                  "decorators": [],
1268                  "loc": {
1269                    "start": {
1270                      "line": 29,
1271                      "column": 10,
1272                      "program": "function.ets"
1273                    },
1274                    "end": {
1275                      "line": 29,
1276                      "column": 14,
1277                      "program": "function.ets"
1278                    }
1279                  }
1280                },
1281                "kind": "method",
1282                "accessibility": "public",
1283                "static": true,
1284                "optional": false,
1285                "computed": false,
1286                "value": {
1287                  "type": "FunctionExpression",
1288                  "function": {
1289                    "type": "ScriptFunction",
1290                    "id": {
1291                      "type": "Identifier",
1292                      "name": "attr",
1293                      "decorators": [],
1294                      "loc": {
1295                        "start": {
1296                          "line": 29,
1297                          "column": 10,
1298                          "program": "function.ets"
1299                        },
1300                        "end": {
1301                          "line": 29,
1302                          "column": 14,
1303                          "program": "function.ets"
1304                        }
1305                      }
1306                    },
1307                    "generator": false,
1308                    "async": false,
1309                    "expression": false,
1310                    "params": [
1311                      {
1312                        "type": "ETSParameterExpression",
1313                        "name": {
1314                          "type": "Identifier",
1315                          "name": "nameOrMap",
1316                          "typeAnnotation": {
1317                            "type": "ETSTypeReference",
1318                            "part": {
1319                              "type": "ETSTypeReferencePart",
1320                              "name": {
1321                                "type": "Identifier",
1322                                "name": "Object",
1323                                "decorators": [],
1324                                "loc": {
1325                                  "start": {
1326                                    "line": 29,
1327                                    "column": 26,
1328                                    "program": "function.ets"
1329                                  },
1330                                  "end": {
1331                                    "line": 29,
1332                                    "column": 32,
1333                                    "program": "function.ets"
1334                                  }
1335                                }
1336                              },
1337                              "loc": {
1338                                "start": {
1339                                  "line": 29,
1340                                  "column": 26,
1341                                  "program": "function.ets"
1342                                },
1343                                "end": {
1344                                  "line": 29,
1345                                  "column": 33,
1346                                  "program": "function.ets"
1347                                }
1348                              }
1349                            },
1350                            "loc": {
1351                              "start": {
1352                                "line": 29,
1353                                "column": 26,
1354                                "program": "function.ets"
1355                              },
1356                              "end": {
1357                                "line": 29,
1358                                "column": 33,
1359                                "program": "function.ets"
1360                              }
1361                            }
1362                          },
1363                          "decorators": [],
1364                          "loc": {
1365                            "start": {
1366                              "line": 29,
1367                              "column": 15,
1368                              "program": "function.ets"
1369                            },
1370                            "end": {
1371                              "line": 29,
1372                              "column": 33,
1373                              "program": "function.ets"
1374                            }
1375                          }
1376                        },
1377                        "loc": {
1378                          "start": {
1379                            "line": 29,
1380                            "column": 15,
1381                            "program": "function.ets"
1382                          },
1383                          "end": {
1384                            "line": 29,
1385                            "column": 33,
1386                            "program": "function.ets"
1387                          }
1388                        }
1389                      },
1390                      {
1391                        "type": "ETSParameterExpression",
1392                        "name": {
1393                          "type": "Identifier",
1394                          "name": "value",
1395                          "typeAnnotation": {
1396                            "type": "ETSTypeReference",
1397                            "part": {
1398                              "type": "ETSTypeReferencePart",
1399                              "name": {
1400                                "type": "Identifier",
1401                                "name": "String",
1402                                "decorators": [],
1403                                "loc": {
1404                                  "start": {
1405                                    "line": 29,
1406                                    "column": 41,
1407                                    "program": "function.ets"
1408                                  },
1409                                  "end": {
1410                                    "line": 29,
1411                                    "column": 47,
1412                                    "program": "function.ets"
1413                                  }
1414                                }
1415                              },
1416                              "loc": {
1417                                "start": {
1418                                  "line": 29,
1419                                  "column": 41,
1420                                  "program": "function.ets"
1421                                },
1422                                "end": {
1423                                  "line": 29,
1424                                  "column": 48,
1425                                  "program": "function.ets"
1426                                }
1427                              }
1428                            },
1429                            "loc": {
1430                              "start": {
1431                                "line": 29,
1432                                "column": 41,
1433                                "program": "function.ets"
1434                              },
1435                              "end": {
1436                                "line": 29,
1437                                "column": 48,
1438                                "program": "function.ets"
1439                              }
1440                            }
1441                          },
1442                          "decorators": [],
1443                          "loc": {
1444                            "start": {
1445                              "line": 29,
1446                              "column": 34,
1447                              "program": "function.ets"
1448                            },
1449                            "end": {
1450                              "line": 29,
1451                              "column": 48,
1452                              "program": "function.ets"
1453                            }
1454                          }
1455                        },
1456                        "loc": {
1457                          "start": {
1458                            "line": 29,
1459                            "column": 34,
1460                            "program": "function.ets"
1461                          },
1462                          "end": {
1463                            "line": 29,
1464                            "column": 48,
1465                            "program": "function.ets"
1466                          }
1467                        }
1468                      }
1469                    ],
1470                    "returnType": {
1471                      "type": "ETSTypeReference",
1472                      "part": {
1473                        "type": "ETSTypeReferencePart",
1474                        "name": {
1475                          "type": "Identifier",
1476                          "name": "Object",
1477                          "decorators": [],
1478                          "loc": {
1479                            "start": {
1480                              "line": 29,
1481                              "column": 50,
1482                              "program": "function.ets"
1483                            },
1484                            "end": {
1485                              "line": 29,
1486                              "column": 56,
1487                              "program": "function.ets"
1488                            }
1489                          }
1490                        },
1491                        "loc": {
1492                          "start": {
1493                            "line": 29,
1494                            "column": 50,
1495                            "program": "function.ets"
1496                          },
1497                          "end": {
1498                            "line": 29,
1499                            "column": 58,
1500                            "program": "function.ets"
1501                          }
1502                        }
1503                      },
1504                      "loc": {
1505                        "start": {
1506                          "line": 29,
1507                          "column": 50,
1508                          "program": "function.ets"
1509                        },
1510                        "end": {
1511                          "line": 29,
1512                          "column": 58,
1513                          "program": "function.ets"
1514                        }
1515                      }
1516                    },
1517                    "body": {
1518                      "type": "BlockStatement",
1519                      "statements": [
1520                        {
1521                          "type": "ReturnStatement",
1522                          "argument": {
1523                            "type": "ETSNewClassInstanceExpression",
1524                            "typeReference": {
1525                              "type": "ETSTypeReference",
1526                              "part": {
1527                                "type": "ETSTypeReferencePart",
1528                                "name": {
1529                                  "type": "Identifier",
1530                                  "name": "Object",
1531                                  "decorators": [],
1532                                  "loc": {
1533                                    "start": {
1534                                      "line": 30,
1535                                      "column": 14,
1536                                      "program": "function.ets"
1537                                    },
1538                                    "end": {
1539                                      "line": 30,
1540                                      "column": 20,
1541                                      "program": "function.ets"
1542                                    }
1543                                  }
1544                                },
1545                                "loc": {
1546                                  "start": {
1547                                    "line": 30,
1548                                    "column": 14,
1549                                    "program": "function.ets"
1550                                  },
1551                                  "end": {
1552                                    "line": 30,
1553                                    "column": 21,
1554                                    "program": "function.ets"
1555                                  }
1556                                }
1557                              },
1558                              "loc": {
1559                                "start": {
1560                                  "line": 30,
1561                                  "column": 14,
1562                                  "program": "function.ets"
1563                                },
1564                                "end": {
1565                                  "line": 30,
1566                                  "column": 21,
1567                                  "program": "function.ets"
1568                                }
1569                              }
1570                            },
1571                            "arguments": [],
1572                            "loc": {
1573                              "start": {
1574                                "line": 30,
1575                                "column": 10,
1576                                "program": "function.ets"
1577                              },
1578                              "end": {
1579                                "line": 30,
1580                                "column": 23,
1581                                "program": "function.ets"
1582                              }
1583                            }
1584                          },
1585                          "loc": {
1586                            "start": {
1587                              "line": 30,
1588                              "column": 3,
1589                              "program": "function.ets"
1590                            },
1591                            "end": {
1592                              "line": 30,
1593                              "column": 23,
1594                              "program": "function.ets"
1595                            }
1596                          }
1597                        }
1598                      ],
1599                      "loc": {
1600                        "start": {
1601                          "line": 29,
1602                          "column": 57,
1603                          "program": "function.ets"
1604                        },
1605                        "end": {
1606                          "line": 31,
1607                          "column": 2,
1608                          "program": "function.ets"
1609                        }
1610                      }
1611                    },
1612                    "loc": {
1613                      "start": {
1614                        "line": 29,
1615                        "column": 10,
1616                        "program": "function.ets"
1617                      },
1618                      "end": {
1619                        "line": 31,
1620                        "column": 2,
1621                        "program": "function.ets"
1622                      }
1623                    }
1624                  },
1625                  "loc": {
1626                    "start": {
1627                      "line": 29,
1628                      "column": 10,
1629                      "program": "function.ets"
1630                    },
1631                    "end": {
1632                      "line": 31,
1633                      "column": 2,
1634                      "program": "function.ets"
1635                    }
1636                  }
1637                },
1638                "overloads": [],
1639                "decorators": [],
1640                "loc": {
1641                  "start": {
1642                    "line": 29,
1643                    "column": 1,
1644                    "program": "function.ets"
1645                  },
1646                  "end": {
1647                    "line": 31,
1648                    "column": 2,
1649                    "program": "function.ets"
1650                  }
1651                }
1652              }
1653            ],
1654            "decorators": [],
1655            "loc": {
1656              "start": {
1657                "line": 17,
1658                "column": 1,
1659                "program": "function.ets"
1660              },
1661              "end": {
1662                "line": 19,
1663                "column": 2,
1664                "program": "function.ets"
1665              }
1666            }
1667          },
1668          {
1669            "type": "ClassProperty",
1670            "key": {
1671              "type": "Identifier",
1672              "name": "int2str",
1673              "decorators": [],
1674              "loc": {
1675                "start": {
1676                  "line": 34,
1677                  "column": 5,
1678                  "program": "function.ets"
1679                },
1680                "end": {
1681                  "line": 34,
1682                  "column": 12,
1683                  "program": "function.ets"
1684                }
1685              }
1686            },
1687            "accessibility": "public",
1688            "static": true,
1689            "readonly": false,
1690            "declare": false,
1691            "optional": false,
1692            "computed": false,
1693            "typeAnnotation": {
1694              "type": "ETSFunctionType",
1695              "params": [
1696                {
1697                  "type": "ETSParameterExpression",
1698                  "name": {
1699                    "type": "Identifier",
1700                    "name": "i",
1701                    "typeAnnotation": {
1702                      "type": "ETSPrimitiveType",
1703                      "loc": {
1704                        "start": {
1705                          "line": 34,
1706                          "column": 18,
1707                          "program": "function.ets"
1708                        },
1709                        "end": {
1710                          "line": 34,
1711                          "column": 21,
1712                          "program": "function.ets"
1713                        }
1714                      }
1715                    },
1716                    "decorators": [],
1717                    "loc": {
1718                      "start": {
1719                        "line": 34,
1720                        "column": 15,
1721                        "program": "function.ets"
1722                      },
1723                      "end": {
1724                        "line": 34,
1725                        "column": 21,
1726                        "program": "function.ets"
1727                      }
1728                    }
1729                  },
1730                  "loc": {
1731                    "start": {
1732                      "line": 34,
1733                      "column": 15,
1734                      "program": "function.ets"
1735                    },
1736                    "end": {
1737                      "line": 34,
1738                      "column": 21,
1739                      "program": "function.ets"
1740                    }
1741                  }
1742                }
1743              ],
1744              "returnType": {
1745                "type": "ETSTypeReference",
1746                "part": {
1747                  "type": "ETSTypeReferencePart",
1748                  "name": {
1749                    "type": "Identifier",
1750                    "name": "String",
1751                    "decorators": [],
1752                    "loc": {
1753                      "start": {
1754                        "line": 34,
1755                        "column": 26,
1756                        "program": "function.ets"
1757                      },
1758                      "end": {
1759                        "line": 34,
1760                        "column": 32,
1761                        "program": "function.ets"
1762                      }
1763                    }
1764                  },
1765                  "loc": {
1766                    "start": {
1767                      "line": 34,
1768                      "column": 26,
1769                      "program": "function.ets"
1770                    },
1771                    "end": {
1772                      "line": 34,
1773                      "column": 34,
1774                      "program": "function.ets"
1775                    }
1776                  }
1777                },
1778                "loc": {
1779                  "start": {
1780                    "line": 34,
1781                    "column": 26,
1782                    "program": "function.ets"
1783                  },
1784                  "end": {
1785                    "line": 34,
1786                    "column": 34,
1787                    "program": "function.ets"
1788                  }
1789                }
1790              },
1791              "loc": {
1792                "start": {
1793                  "line": 34,
1794                  "column": 14,
1795                  "program": "function.ets"
1796                },
1797                "end": {
1798                  "line": 34,
1799                  "column": 34,
1800                  "program": "function.ets"
1801                }
1802              }
1803            },
1804            "definite": false,
1805            "decorators": [],
1806            "loc": {
1807              "start": {
1808                "line": 34,
1809                "column": 5,
1810                "program": "function.ets"
1811              },
1812              "end": {
1813                "line": 36,
1814                "column": 2,
1815                "program": "function.ets"
1816              }
1817            }
1818          }
1819        ],
1820        "loc": {
1821          "start": {
1822            "line": 1,
1823            "column": 1,
1824            "program": "function.ets"
1825          },
1826          "end": {
1827            "line": 1,
1828            "column": 1,
1829            "program": "function.ets"
1830          }
1831        }
1832      },
1833      "loc": {
1834        "start": {
1835          "line": 1,
1836          "column": 1,
1837          "program": "function.ets"
1838        },
1839        "end": {
1840          "line": 1,
1841          "column": 1,
1842          "program": "function.ets"
1843        }
1844      }
1845    }
1846  ],
1847  "loc": {
1848    "start": {
1849      "line": 1,
1850      "column": 1,
1851      "program": "function.ets"
1852    },
1853    "end": {
1854      "line": 37,
1855      "column": 1,
1856      "program": "function.ets"
1857    }
1858  }
1859}
1860