• 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            },
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": "foo",
124              "decorators": [],
125              "loc": {
126                "start": {
127                  "line": 16,
128                  "column": 10
129                },
130                "end": {
131                  "line": 16,
132                  "column": 13
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": "foo",
148                  "decorators": [],
149                  "loc": {
150                    "start": {
151                      "line": 16,
152                      "column": 10
153                    },
154                    "end": {
155                      "line": 16,
156                      "column": 13
157                    }
158                  }
159                },
160                "generator": false,
161                "async": false,
162                "expression": false,
163                "params": [
164                  {
165                    "type": "ETSParameterExpression",
166                    "rest parameter": {
167                      "type": "RestElement",
168                      "argument": {
169                        "type": "Identifier",
170                        "name": "a",
171                        "decorators": [],
172                        "loc": {
173                          "start": {
174                            "line": 16,
175                            "column": 17
176                          },
177                          "end": {
178                            "line": 16,
179                            "column": 18
180                          }
181                        }
182                      },
183                      "typeAnnotation": {
184                        "type": "TSArrayType",
185                        "elementType": {
186                          "type": "ETSTypeReference",
187                          "part": {
188                            "type": "ETSTypeReferencePart",
189                            "name": {
190                              "type": "Identifier",
191                              "name": "Int",
192                              "decorators": [],
193                              "loc": {
194                                "start": {
195                                  "line": 16,
196                                  "column": 21
197                                },
198                                "end": {
199                                  "line": 16,
200                                  "column": 24
201                                }
202                              }
203                            },
204                            "loc": {
205                              "start": {
206                                "line": 16,
207                                "column": 21
208                              },
209                              "end": {
210                                "line": 16,
211                                "column": 25
212                              }
213                            }
214                          },
215                          "loc": {
216                            "start": {
217                              "line": 16,
218                              "column": 21
219                            },
220                            "end": {
221                              "line": 16,
222                              "column": 25
223                            }
224                          }
225                        },
226                        "loc": {
227                          "start": {
228                            "line": 16,
229                            "column": 24
230                          },
231                          "end": {
232                            "line": 16,
233                            "column": 26
234                          }
235                        }
236                      },
237                      "loc": {
238                        "start": {
239                          "line": 16,
240                          "column": 14
241                        },
242                        "end": {
243                          "line": 16,
244                          "column": 26
245                        }
246                      }
247                    },
248                    "loc": {
249                      "start": {
250                        "line": 16,
251                        "column": 14
252                      },
253                      "end": {
254                        "line": 16,
255                        "column": 26
256                      }
257                    }
258                  }
259                ],
260                "returnType": {
261                  "type": "ETSTypeReference",
262                  "part": {
263                    "type": "ETSTypeReferencePart",
264                    "name": {
265                      "type": "Identifier",
266                      "name": "Int",
267                      "decorators": [],
268                      "loc": {
269                        "start": {
270                          "line": 16,
271                          "column": 30
272                        },
273                        "end": {
274                          "line": 16,
275                          "column": 33
276                        }
277                      }
278                    },
279                    "loc": {
280                      "start": {
281                        "line": 16,
282                        "column": 30
283                      },
284                      "end": {
285                        "line": 17,
286                        "column": 2
287                      }
288                    }
289                  },
290                  "loc": {
291                    "start": {
292                      "line": 16,
293                      "column": 30
294                    },
295                    "end": {
296                      "line": 17,
297                      "column": 2
298                    }
299                  }
300                },
301                "body": {
302                  "type": "BlockStatement",
303                  "statements": [
304                    {
305                      "type": "ReturnStatement",
306                      "argument": {
307                        "type": "NumberLiteral",
308                        "value": 1,
309                        "loc": {
310                          "start": {
311                            "line": 18,
312                            "column": 12
313                          },
314                          "end": {
315                            "line": 18,
316                            "column": 13
317                          }
318                        }
319                      },
320                      "loc": {
321                        "start": {
322                          "line": 18,
323                          "column": 5
324                        },
325                        "end": {
326                          "line": 18,
327                          "column": 14
328                        }
329                      }
330                    }
331                  ],
332                  "loc": {
333                    "start": {
334                      "line": 17,
335                      "column": 1
336                    },
337                    "end": {
338                      "line": 19,
339                      "column": 2
340                    }
341                  }
342                },
343                "loc": {
344                  "start": {
345                    "line": 16,
346                    "column": 10
347                  },
348                  "end": {
349                    "line": 19,
350                    "column": 2
351                  }
352                }
353              },
354              "loc": {
355                "start": {
356                  "line": 16,
357                  "column": 10
358                },
359                "end": {
360                  "line": 19,
361                  "column": 2
362                }
363              }
364            },
365            "overloads": [
366              {
367                "type": "MethodDefinition",
368                "key": {
369                  "type": "Identifier",
370                  "name": "foo",
371                  "decorators": [],
372                  "loc": {
373                    "start": {
374                      "line": 21,
375                      "column": 10
376                    },
377                    "end": {
378                      "line": 21,
379                      "column": 13
380                    }
381                  }
382                },
383                "kind": "method",
384                "accessibility": "public",
385                "static": true,
386                "optional": false,
387                "computed": false,
388                "value": {
389                  "type": "FunctionExpression",
390                  "function": {
391                    "type": "ScriptFunction",
392                    "id": {
393                      "type": "Identifier",
394                      "name": "foo",
395                      "decorators": [],
396                      "loc": {
397                        "start": {
398                          "line": 21,
399                          "column": 10
400                        },
401                        "end": {
402                          "line": 21,
403                          "column": 13
404                        }
405                      }
406                    },
407                    "generator": false,
408                    "async": false,
409                    "expression": false,
410                    "params": [
411                      {
412                        "type": "ETSParameterExpression",
413                        "name": {
414                          "type": "Identifier",
415                          "name": "a",
416                          "typeAnnotation": {
417                            "type": "ETSTypeReference",
418                            "part": {
419                              "type": "ETSTypeReferencePart",
420                              "name": {
421                                "type": "Identifier",
422                                "name": "Int",
423                                "decorators": [],
424                                "loc": {
425                                  "start": {
426                                    "line": 21,
427                                    "column": 18
428                                  },
429                                  "end": {
430                                    "line": 21,
431                                    "column": 21
432                                  }
433                                }
434                              },
435                              "loc": {
436                                "start": {
437                                  "line": 21,
438                                  "column": 18
439                                },
440                                "end": {
441                                  "line": 21,
442                                  "column": 22
443                                }
444                              }
445                            },
446                            "loc": {
447                              "start": {
448                                "line": 21,
449                                "column": 18
450                              },
451                              "end": {
452                                "line": 21,
453                                "column": 22
454                              }
455                            }
456                          },
457                          "decorators": [],
458                          "loc": {
459                            "start": {
460                              "line": 21,
461                              "column": 14
462                            },
463                            "end": {
464                              "line": 21,
465                              "column": 22
466                            }
467                          }
468                        },
469                        "loc": {
470                          "start": {
471                            "line": 21,
472                            "column": 14
473                          },
474                          "end": {
475                            "line": 21,
476                            "column": 22
477                          }
478                        }
479                      },
480                      {
481                        "type": "ETSParameterExpression",
482                        "name": {
483                          "type": "Identifier",
484                          "name": "b",
485                          "typeAnnotation": {
486                            "type": "ETSUnionType",
487                            "types": [
488                              {
489                                "type": "ETSTypeReference",
490                                "part": {
491                                  "type": "ETSTypeReferencePart",
492                                  "name": {
493                                    "type": "Identifier",
494                                    "name": "String",
495                                    "decorators": [],
496                                    "loc": {
497                                      "start": {
498                                        "line": 21,
499                                        "column": 28
500                                      },
501                                      "end": {
502                                        "line": 21,
503                                        "column": 34
504                                      }
505                                    }
506                                  },
507                                  "loc": {
508                                    "start": {
509                                      "line": 21,
510                                      "column": 28
511                                    },
512                                    "end": {
513                                      "line": 21,
514                                      "column": 35
515                                    }
516                                  }
517                                },
518                                "loc": {
519                                  "start": {
520                                    "line": 21,
521                                    "column": 28
522                                  },
523                                  "end": {
524                                    "line": 21,
525                                    "column": 35
526                                  }
527                                }
528                              },
529                              {
530                                "type": "ETSUndefinedType",
531                                "loc": {
532                                  "start": {
533                                    "line": 21,
534                                    "column": 24
535                                  },
536                                  "end": {
537                                    "line": 21,
538                                    "column": 25
539                                  }
540                                }
541                              }
542                            ],
543                            "loc": {
544                              "start": {
545                                "line": 21,
546                                "column": 28
547                              },
548                              "end": {
549                                "line": 21,
550                                "column": 35
551                              }
552                            }
553                          },
554                          "decorators": [],
555                          "loc": {
556                            "start": {
557                              "line": 21,
558                              "column": 23
559                            },
560                            "end": {
561                              "line": 21,
562                              "column": 35
563                            }
564                          }
565                        },
566                        "loc": {
567                          "start": {
568                            "line": 21,
569                            "column": 23
570                          },
571                          "end": {
572                            "line": 21,
573                            "column": 35
574                          }
575                        }
576                      },
577                      {
578                        "type": "ETSParameterExpression",
579                        "name": {
580                          "type": "Identifier",
581                          "name": "c",
582                          "typeAnnotation": {
583                            "type": "ETSTypeReference",
584                            "part": {
585                              "type": "ETSTypeReferencePart",
586                              "name": {
587                                "type": "Identifier",
588                                "name": "Int",
589                                "decorators": [],
590                                "loc": {
591                                  "start": {
592                                    "line": 21,
593                                    "column": 40
594                                  },
595                                  "end": {
596                                    "line": 21,
597                                    "column": 43
598                                  }
599                                }
600                              },
601                              "loc": {
602                                "start": {
603                                  "line": 21,
604                                  "column": 40
605                                },
606                                "end": {
607                                  "line": 21,
608                                  "column": 45
609                                }
610                              }
611                            },
612                            "loc": {
613                              "start": {
614                                "line": 21,
615                                "column": 40
616                              },
617                              "end": {
618                                "line": 21,
619                                "column": 45
620                              }
621                            }
622                          },
623                          "decorators": [],
624                          "loc": {
625                            "start": {
626                              "line": 21,
627                              "column": 36
628                            },
629                            "end": {
630                              "line": 21,
631                              "column": 45
632                            }
633                          }
634                        },
635                        "loc": {
636                          "start": {
637                            "line": 21,
638                            "column": 36
639                          },
640                          "end": {
641                            "line": 21,
642                            "column": 48
643                          }
644                        }
645                      }
646                    ],
647                    "returnType": {
648                      "type": "ETSTypeReference",
649                      "part": {
650                        "type": "ETSTypeReferencePart",
651                        "name": {
652                          "type": "Identifier",
653                          "name": "Int",
654                          "decorators": [],
655                          "loc": {
656                            "start": {
657                              "line": 21,
658                              "column": 52
659                            },
660                            "end": {
661                              "line": 21,
662                              "column": 55
663                            }
664                          }
665                        },
666                        "loc": {
667                          "start": {
668                            "line": 21,
669                            "column": 52
670                          },
671                          "end": {
672                            "line": 22,
673                            "column": 2
674                          }
675                        }
676                      },
677                      "loc": {
678                        "start": {
679                          "line": 21,
680                          "column": 52
681                        },
682                        "end": {
683                          "line": 22,
684                          "column": 2
685                        }
686                      }
687                    },
688                    "body": {
689                      "type": "BlockStatement",
690                      "statements": [
691                        {
692                          "type": "ReturnStatement",
693                          "argument": {
694                            "type": "NumberLiteral",
695                            "value": 2,
696                            "loc": {
697                              "start": {
698                                "line": 23,
699                                "column": 12
700                              },
701                              "end": {
702                                "line": 23,
703                                "column": 13
704                              }
705                            }
706                          },
707                          "loc": {
708                            "start": {
709                              "line": 23,
710                              "column": 5
711                            },
712                            "end": {
713                              "line": 23,
714                              "column": 14
715                            }
716                          }
717                        }
718                      ],
719                      "loc": {
720                        "start": {
721                          "line": 22,
722                          "column": 1
723                        },
724                        "end": {
725                          "line": 24,
726                          "column": 2
727                        }
728                      }
729                    },
730                    "loc": {
731                      "start": {
732                        "line": 21,
733                        "column": 10
734                      },
735                      "end": {
736                        "line": 24,
737                        "column": 2
738                      }
739                    }
740                  },
741                  "loc": {
742                    "start": {
743                      "line": 21,
744                      "column": 10
745                    },
746                    "end": {
747                      "line": 24,
748                      "column": 2
749                    }
750                  }
751                },
752                "overloads": [],
753                "decorators": [],
754                "loc": {
755                  "start": {
756                    "line": 21,
757                    "column": 1
758                  },
759                  "end": {
760                    "line": 24,
761                    "column": 2
762                  }
763                }
764              },
765              {
766                "type": "MethodDefinition",
767                "key": {
768                  "type": "Identifier",
769                  "name": "foo",
770                  "decorators": [],
771                  "loc": {
772                    "start": {
773                      "line": 21,
774                      "column": 10
775                    },
776                    "end": {
777                      "line": 21,
778                      "column": 13
779                    }
780                  }
781                },
782                "kind": "method",
783                "accessibility": "public",
784                "static": true,
785                "optional": false,
786                "computed": false,
787                "value": {
788                  "type": "FunctionExpression",
789                  "function": {
790                    "type": "ScriptFunction",
791                    "id": {
792                      "type": "Identifier",
793                      "name": "foo",
794                      "decorators": [],
795                      "loc": {
796                        "start": {
797                          "line": 21,
798                          "column": 10
799                        },
800                        "end": {
801                          "line": 21,
802                          "column": 13
803                        }
804                      }
805                    },
806                    "generator": false,
807                    "async": false,
808                    "expression": false,
809                    "params": [
810                      {
811                        "type": "ETSParameterExpression",
812                        "name": {
813                          "type": "Identifier",
814                          "name": "a",
815                          "typeAnnotation": {
816                            "type": "ETSTypeReference",
817                            "part": {
818                              "type": "ETSTypeReferencePart",
819                              "name": {
820                                "type": "Identifier",
821                                "name": "Int",
822                                "decorators": [],
823                                "loc": {
824                                  "start": {
825                                    "line": 21,
826                                    "column": 18
827                                  },
828                                  "end": {
829                                    "line": 21,
830                                    "column": 21
831                                  }
832                                }
833                              },
834                              "loc": {
835                                "start": {
836                                  "line": 21,
837                                  "column": 18
838                                },
839                                "end": {
840                                  "line": 21,
841                                  "column": 22
842                                }
843                              }
844                            },
845                            "loc": {
846                              "start": {
847                                "line": 21,
848                                "column": 18
849                              },
850                              "end": {
851                                "line": 21,
852                                "column": 22
853                              }
854                            }
855                          },
856                          "decorators": [],
857                          "loc": {
858                            "start": {
859                              "line": 21,
860                              "column": 14
861                            },
862                            "end": {
863                              "line": 21,
864                              "column": 22
865                            }
866                          }
867                        },
868                        "loc": {
869                          "start": {
870                            "line": 1,
871                            "column": 1
872                          },
873                          "end": {
874                            "line": 1,
875                            "column": 1
876                          }
877                        }
878                      },
879                      {
880                        "type": "ETSParameterExpression",
881                        "name": {
882                          "type": "Identifier",
883                          "name": "b",
884                          "typeAnnotation": {
885                            "type": "ETSUnionType",
886                            "types": [
887                              {
888                                "type": "ETSTypeReference",
889                                "part": {
890                                  "type": "ETSTypeReferencePart",
891                                  "name": {
892                                    "type": "Identifier",
893                                    "name": "String",
894                                    "decorators": [],
895                                    "loc": {
896                                      "start": {
897                                        "line": 21,
898                                        "column": 28
899                                      },
900                                      "end": {
901                                        "line": 21,
902                                        "column": 34
903                                      }
904                                    }
905                                  },
906                                  "loc": {
907                                    "start": {
908                                      "line": 21,
909                                      "column": 28
910                                    },
911                                    "end": {
912                                      "line": 21,
913                                      "column": 35
914                                    }
915                                  }
916                                },
917                                "loc": {
918                                  "start": {
919                                    "line": 21,
920                                    "column": 28
921                                  },
922                                  "end": {
923                                    "line": 21,
924                                    "column": 35
925                                  }
926                                }
927                              },
928                              {
929                                "type": "ETSUndefinedType",
930                                "loc": {
931                                  "start": {
932                                    "line": 1,
933                                    "column": 1
934                                  },
935                                  "end": {
936                                    "line": 1,
937                                    "column": 1
938                                  }
939                                }
940                              }
941                            ],
942                            "loc": {
943                              "start": {
944                                "line": 1,
945                                "column": 1
946                              },
947                              "end": {
948                                "line": 1,
949                                "column": 1
950                              }
951                            }
952                          },
953                          "decorators": [],
954                          "loc": {
955                            "start": {
956                              "line": 21,
957                              "column": 23
958                            },
959                            "end": {
960                              "line": 21,
961                              "column": 35
962                            }
963                          }
964                        },
965                        "loc": {
966                          "start": {
967                            "line": 1,
968                            "column": 1
969                          },
970                          "end": {
971                            "line": 1,
972                            "column": 1
973                          }
974                        }
975                      }
976                    ],
977                    "returnType": {
978                      "type": "ETSTypeReference",
979                      "part": {
980                        "type": "ETSTypeReferencePart",
981                        "name": {
982                          "type": "Identifier",
983                          "name": "Int",
984                          "decorators": [],
985                          "loc": {
986                            "start": {
987                              "line": 21,
988                              "column": 52
989                            },
990                            "end": {
991                              "line": 21,
992                              "column": 55
993                            }
994                          }
995                        },
996                        "loc": {
997                          "start": {
998                            "line": 21,
999                            "column": 52
1000                          },
1001                          "end": {
1002                            "line": 22,
1003                            "column": 2
1004                          }
1005                        }
1006                      },
1007                      "loc": {
1008                        "start": {
1009                          "line": 21,
1010                          "column": 52
1011                        },
1012                        "end": {
1013                          "line": 22,
1014                          "column": 2
1015                        }
1016                      }
1017                    },
1018                    "body": {
1019                      "type": "BlockStatement",
1020                      "statements": [
1021                        {
1022                          "type": "ReturnStatement",
1023                          "argument": {
1024                            "type": "CallExpression",
1025                            "callee": {
1026                              "type": "Identifier",
1027                              "name": "foo",
1028                              "decorators": [],
1029                              "loc": {
1030                                "start": {
1031                                  "line": 1,
1032                                  "column": 1
1033                                },
1034                                "end": {
1035                                  "line": 1,
1036                                  "column": 1
1037                                }
1038                              }
1039                            },
1040                            "arguments": [
1041                              {
1042                                "type": "Identifier",
1043                                "name": "a",
1044                                "decorators": [],
1045                                "loc": {
1046                                  "start": {
1047                                    "line": 21,
1048                                    "column": 14
1049                                  },
1050                                  "end": {
1051                                    "line": 21,
1052                                    "column": 22
1053                                  }
1054                                }
1055                              },
1056                              {
1057                                "type": "Identifier",
1058                                "name": "b",
1059                                "decorators": [],
1060                                "loc": {
1061                                  "start": {
1062                                    "line": 21,
1063                                    "column": 23
1064                                  },
1065                                  "end": {
1066                                    "line": 21,
1067                                    "column": 35
1068                                  }
1069                                }
1070                              },
1071                              {
1072                                "type": "NumberLiteral",
1073                                "value": 30,
1074                                "loc": {
1075                                  "start": {
1076                                    "line": 21,
1077                                    "column": 46
1078                                  },
1079                                  "end": {
1080                                    "line": 21,
1081                                    "column": 48
1082                                  }
1083                                }
1084                              }
1085                            ],
1086                            "optional": false,
1087                            "loc": {
1088                              "start": {
1089                                "line": 21,
1090                                "column": 1
1091                              },
1092                              "end": {
1093                                "line": 24,
1094                                "column": 2
1095                              }
1096                            }
1097                          },
1098                          "loc": {
1099                            "start": {
1100                              "line": 1,
1101                              "column": 1
1102                            },
1103                            "end": {
1104                              "line": 1,
1105                              "column": 1
1106                            }
1107                          }
1108                        }
1109                      ],
1110                      "loc": {
1111                        "start": {
1112                          "line": 1,
1113                          "column": 1
1114                        },
1115                        "end": {
1116                          "line": 1,
1117                          "column": 1
1118                        }
1119                      }
1120                    },
1121                    "loc": {
1122                      "start": {
1123                        "line": 658,
1124                        "column": 1
1125                      },
1126                      "end": {
1127                        "line": 658,
1128                        "column": 1
1129                      }
1130                    }
1131                  },
1132                  "loc": {
1133                    "start": {
1134                      "line": 1,
1135                      "column": 1
1136                    },
1137                    "end": {
1138                      "line": 1,
1139                      "column": 1
1140                    }
1141                  }
1142                },
1143                "overloads": [],
1144                "decorators": [],
1145                "loc": {
1146                  "start": {
1147                    "line": 21,
1148                    "column": 1
1149                  },
1150                  "end": {
1151                    "line": 1,
1152                    "column": 1
1153                  }
1154                }
1155              },
1156              {
1157                "type": "MethodDefinition",
1158                "key": {
1159                  "type": "Identifier",
1160                  "name": "foo",
1161                  "decorators": [],
1162                  "loc": {
1163                    "start": {
1164                      "line": 21,
1165                      "column": 10
1166                    },
1167                    "end": {
1168                      "line": 21,
1169                      "column": 13
1170                    }
1171                  }
1172                },
1173                "kind": "method",
1174                "accessibility": "public",
1175                "static": true,
1176                "optional": false,
1177                "computed": false,
1178                "value": {
1179                  "type": "FunctionExpression",
1180                  "function": {
1181                    "type": "ScriptFunction",
1182                    "id": {
1183                      "type": "Identifier",
1184                      "name": "foo",
1185                      "decorators": [],
1186                      "loc": {
1187                        "start": {
1188                          "line": 21,
1189                          "column": 10
1190                        },
1191                        "end": {
1192                          "line": 21,
1193                          "column": 13
1194                        }
1195                      }
1196                    },
1197                    "generator": false,
1198                    "async": false,
1199                    "expression": false,
1200                    "params": [
1201                      {
1202                        "type": "ETSParameterExpression",
1203                        "name": {
1204                          "type": "Identifier",
1205                          "name": "a",
1206                          "typeAnnotation": {
1207                            "type": "ETSTypeReference",
1208                            "part": {
1209                              "type": "ETSTypeReferencePart",
1210                              "name": {
1211                                "type": "Identifier",
1212                                "name": "Int",
1213                                "decorators": [],
1214                                "loc": {
1215                                  "start": {
1216                                    "line": 21,
1217                                    "column": 18
1218                                  },
1219                                  "end": {
1220                                    "line": 21,
1221                                    "column": 21
1222                                  }
1223                                }
1224                              },
1225                              "loc": {
1226                                "start": {
1227                                  "line": 21,
1228                                  "column": 18
1229                                },
1230                                "end": {
1231                                  "line": 21,
1232                                  "column": 22
1233                                }
1234                              }
1235                            },
1236                            "loc": {
1237                              "start": {
1238                                "line": 21,
1239                                "column": 18
1240                              },
1241                              "end": {
1242                                "line": 21,
1243                                "column": 22
1244                              }
1245                            }
1246                          },
1247                          "decorators": [],
1248                          "loc": {
1249                            "start": {
1250                              "line": 21,
1251                              "column": 14
1252                            },
1253                            "end": {
1254                              "line": 21,
1255                              "column": 22
1256                            }
1257                          }
1258                        },
1259                        "loc": {
1260                          "start": {
1261                            "line": 1,
1262                            "column": 1
1263                          },
1264                          "end": {
1265                            "line": 1,
1266                            "column": 1
1267                          }
1268                        }
1269                      }
1270                    ],
1271                    "returnType": {
1272                      "type": "ETSTypeReference",
1273                      "part": {
1274                        "type": "ETSTypeReferencePart",
1275                        "name": {
1276                          "type": "Identifier",
1277                          "name": "Int",
1278                          "decorators": [],
1279                          "loc": {
1280                            "start": {
1281                              "line": 21,
1282                              "column": 52
1283                            },
1284                            "end": {
1285                              "line": 21,
1286                              "column": 55
1287                            }
1288                          }
1289                        },
1290                        "loc": {
1291                          "start": {
1292                            "line": 21,
1293                            "column": 52
1294                          },
1295                          "end": {
1296                            "line": 22,
1297                            "column": 2
1298                          }
1299                        }
1300                      },
1301                      "loc": {
1302                        "start": {
1303                          "line": 21,
1304                          "column": 52
1305                        },
1306                        "end": {
1307                          "line": 22,
1308                          "column": 2
1309                        }
1310                      }
1311                    },
1312                    "body": {
1313                      "type": "BlockStatement",
1314                      "statements": [
1315                        {
1316                          "type": "ReturnStatement",
1317                          "argument": {
1318                            "type": "CallExpression",
1319                            "callee": {
1320                              "type": "Identifier",
1321                              "name": "foo",
1322                              "decorators": [],
1323                              "loc": {
1324                                "start": {
1325                                  "line": 1,
1326                                  "column": 1
1327                                },
1328                                "end": {
1329                                  "line": 1,
1330                                  "column": 1
1331                                }
1332                              }
1333                            },
1334                            "arguments": [
1335                              {
1336                                "type": "Identifier",
1337                                "name": "a",
1338                                "decorators": [],
1339                                "loc": {
1340                                  "start": {
1341                                    "line": 21,
1342                                    "column": 14
1343                                  },
1344                                  "end": {
1345                                    "line": 21,
1346                                    "column": 22
1347                                  }
1348                                }
1349                              },
1350                              {
1351                                "type": "UndefinedLiteral",
1352                                "value": "undefined",
1353                                "loc": {
1354                                  "start": {
1355                                    "line": 1,
1356                                    "column": 1
1357                                  },
1358                                  "end": {
1359                                    "line": 1,
1360                                    "column": 1
1361                                  }
1362                                }
1363                              },
1364                              {
1365                                "type": "NumberLiteral",
1366                                "value": 30,
1367                                "loc": {
1368                                  "start": {
1369                                    "line": 21,
1370                                    "column": 46
1371                                  },
1372                                  "end": {
1373                                    "line": 21,
1374                                    "column": 48
1375                                  }
1376                                }
1377                              }
1378                            ],
1379                            "optional": false,
1380                            "loc": {
1381                              "start": {
1382                                "line": 21,
1383                                "column": 1
1384                              },
1385                              "end": {
1386                                "line": 24,
1387                                "column": 2
1388                              }
1389                            }
1390                          },
1391                          "loc": {
1392                            "start": {
1393                              "line": 1,
1394                              "column": 1
1395                            },
1396                            "end": {
1397                              "line": 1,
1398                              "column": 1
1399                            }
1400                          }
1401                        }
1402                      ],
1403                      "loc": {
1404                        "start": {
1405                          "line": 1,
1406                          "column": 1
1407                        },
1408                        "end": {
1409                          "line": 1,
1410                          "column": 1
1411                        }
1412                      }
1413                    },
1414                    "loc": {
1415                      "start": {
1416                        "line": 658,
1417                        "column": 1
1418                      },
1419                      "end": {
1420                        "line": 658,
1421                        "column": 1
1422                      }
1423                    }
1424                  },
1425                  "loc": {
1426                    "start": {
1427                      "line": 1,
1428                      "column": 1
1429                    },
1430                    "end": {
1431                      "line": 1,
1432                      "column": 1
1433                    }
1434                  }
1435                },
1436                "overloads": [],
1437                "decorators": [],
1438                "loc": {
1439                  "start": {
1440                    "line": 21,
1441                    "column": 1
1442                  },
1443                  "end": {
1444                    "line": 1,
1445                    "column": 1
1446                  }
1447                }
1448              }
1449            ],
1450            "decorators": [],
1451            "loc": {
1452              "start": {
1453                "line": 16,
1454                "column": 1
1455              },
1456              "end": {
1457                "line": 19,
1458                "column": 2
1459              }
1460            }
1461          }
1462        ],
1463        "loc": {
1464          "start": {
1465            "line": 1,
1466            "column": 1
1467          },
1468          "end": {
1469            "line": 1,
1470            "column": 1
1471          }
1472        }
1473      },
1474      "loc": {
1475        "start": {
1476          "line": 1,
1477          "column": 1
1478        },
1479        "end": {
1480          "line": 1,
1481          "column": 1
1482        }
1483      }
1484    }
1485  ],
1486  "loc": {
1487    "start": {
1488      "line": 1,
1489      "column": 1
1490    },
1491    "end": {
1492      "line": 25,
1493      "column": 1
1494    }
1495  }
1496}
1497