• 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": "rest_parameter_01.ets"
16            },
17            "end": {
18              "line": 1,
19              "column": 1,
20              "program": "rest_parameter_01.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": "rest_parameter_01.ets"
125              },
126              "end": {
127                "line": 1,
128                "column": 1,
129                "program": "rest_parameter_01.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                  "loc": {
186                    "start": {
187                      "line": 1,
188                      "column": 1,
189                      "program": null
190                    },
191                    "end": {
192                      "line": 1,
193                      "column": 1,
194                      "program": null
195                    }
196                  }
197                },
198                "loc": {
199                  "start": {
200                    "line": 1,
201                    "column": 1,
202                    "program": null
203                  },
204                  "end": {
205                    "line": 1,
206                    "column": 1,
207                    "program": null
208                  }
209                }
210              },
211              "loc": {
212                "start": {
213                  "line": 1,
214                  "column": 1,
215                  "program": null
216                },
217                "end": {
218                  "line": 1,
219                  "column": 1,
220                  "program": null
221                }
222              }
223            },
224            "overloads": [],
225            "decorators": [],
226            "loc": {
227              "start": {
228                "line": 1,
229                "column": 1,
230                "program": "rest_parameter_01.ets"
231              },
232              "end": {
233                "line": 1,
234                "column": 1,
235                "program": "rest_parameter_01.ets"
236              }
237            }
238          },
239          {
240            "type": "MethodDefinition",
241            "key": {
242              "type": "Identifier",
243              "name": "foo",
244              "decorators": [],
245              "loc": {
246                "start": {
247                  "line": 16,
248                  "column": 10,
249                  "program": "rest_parameter_01.ets"
250                },
251                "end": {
252                  "line": 16,
253                  "column": 13,
254                  "program": "rest_parameter_01.ets"
255                }
256              }
257            },
258            "kind": "method",
259            "accessibility": "public",
260            "static": true,
261            "optional": false,
262            "computed": false,
263            "value": {
264              "type": "FunctionExpression",
265              "function": {
266                "type": "ScriptFunction",
267                "id": {
268                  "type": "Identifier",
269                  "name": "foo",
270                  "decorators": [],
271                  "loc": {
272                    "start": {
273                      "line": 16,
274                      "column": 10,
275                      "program": "rest_parameter_01.ets"
276                    },
277                    "end": {
278                      "line": 16,
279                      "column": 13,
280                      "program": "rest_parameter_01.ets"
281                    }
282                  }
283                },
284                "generator": false,
285                "async": false,
286                "expression": false,
287                "params": [
288                  {
289                    "type": "ETSParameterExpression",
290                    "name": {
291                      "type": "Identifier",
292                      "name": "x",
293                      "typeAnnotation": {
294                        "type": "ETSPrimitiveType",
295                        "loc": {
296                          "start": {
297                            "line": 16,
298                            "column": 18,
299                            "program": "rest_parameter_01.ets"
300                          },
301                          "end": {
302                            "line": 16,
303                            "column": 21,
304                            "program": "rest_parameter_01.ets"
305                          }
306                        }
307                      },
308                      "decorators": [],
309                      "loc": {
310                        "start": {
311                          "line": 16,
312                          "column": 15,
313                          "program": "rest_parameter_01.ets"
314                        },
315                        "end": {
316                          "line": 16,
317                          "column": 21,
318                          "program": "rest_parameter_01.ets"
319                        }
320                      }
321                    },
322                    "loc": {
323                      "start": {
324                        "line": 16,
325                        "column": 15,
326                        "program": "rest_parameter_01.ets"
327                      },
328                      "end": {
329                        "line": 16,
330                        "column": 21,
331                        "program": "rest_parameter_01.ets"
332                      }
333                    }
334                  },
335                  {
336                    "type": "ETSParameterExpression",
337                    "name": {
338                      "type": "Identifier",
339                      "name": "y",
340                      "typeAnnotation": {
341                        "type": "ETSPrimitiveType",
342                        "loc": {
343                          "start": {
344                            "line": 16,
345                            "column": 26,
346                            "program": "rest_parameter_01.ets"
347                          },
348                          "end": {
349                            "line": 16,
350                            "column": 29,
351                            "program": "rest_parameter_01.ets"
352                          }
353                        }
354                      },
355                      "decorators": [],
356                      "loc": {
357                        "start": {
358                          "line": 16,
359                          "column": 23,
360                          "program": "rest_parameter_01.ets"
361                        },
362                        "end": {
363                          "line": 16,
364                          "column": 29,
365                          "program": "rest_parameter_01.ets"
366                        }
367                      }
368                    },
369                    "loc": {
370                      "start": {
371                        "line": 16,
372                        "column": 23,
373                        "program": "rest_parameter_01.ets"
374                      },
375                      "end": {
376                        "line": 16,
377                        "column": 29,
378                        "program": "rest_parameter_01.ets"
379                      }
380                    }
381                  }
382                ],
383                "returnType": {
384                  "type": "ETSPrimitiveType",
385                  "loc": {
386                    "start": {
387                      "line": 16,
388                      "column": 32,
389                      "program": "rest_parameter_01.ets"
390                    },
391                    "end": {
392                      "line": 16,
393                      "column": 35,
394                      "program": "rest_parameter_01.ets"
395                    }
396                  }
397                },
398                "body": {
399                  "type": "BlockStatement",
400                  "statements": [
401                    {
402                      "type": "ReturnStatement",
403                      "argument": {
404                        "type": "NumberLiteral",
405                        "value": 1,
406                        "loc": {
407                          "start": {
408                            "line": 17,
409                            "column": 10,
410                            "program": "rest_parameter_01.ets"
411                          },
412                          "end": {
413                            "line": 17,
414                            "column": 11,
415                            "program": "rest_parameter_01.ets"
416                          }
417                        }
418                      },
419                      "loc": {
420                        "start": {
421                          "line": 17,
422                          "column": 3,
423                          "program": "rest_parameter_01.ets"
424                        },
425                        "end": {
426                          "line": 17,
427                          "column": 12,
428                          "program": "rest_parameter_01.ets"
429                        }
430                      }
431                    }
432                  ],
433                  "loc": {
434                    "start": {
435                      "line": 16,
436                      "column": 36,
437                      "program": "rest_parameter_01.ets"
438                    },
439                    "end": {
440                      "line": 18,
441                      "column": 2,
442                      "program": "rest_parameter_01.ets"
443                    }
444                  }
445                },
446                "loc": {
447                  "start": {
448                    "line": 16,
449                    "column": 10,
450                    "program": "rest_parameter_01.ets"
451                  },
452                  "end": {
453                    "line": 18,
454                    "column": 2,
455                    "program": "rest_parameter_01.ets"
456                  }
457                }
458              },
459              "loc": {
460                "start": {
461                  "line": 16,
462                  "column": 10,
463                  "program": "rest_parameter_01.ets"
464                },
465                "end": {
466                  "line": 18,
467                  "column": 2,
468                  "program": "rest_parameter_01.ets"
469                }
470              }
471            },
472            "overloads": [
473              {
474                "type": "MethodDefinition",
475                "key": {
476                  "type": "Identifier",
477                  "name": "foo",
478                  "decorators": [],
479                  "loc": {
480                    "start": {
481                      "line": 20,
482                      "column": 10,
483                      "program": "rest_parameter_01.ets"
484                    },
485                    "end": {
486                      "line": 20,
487                      "column": 13,
488                      "program": "rest_parameter_01.ets"
489                    }
490                  }
491                },
492                "kind": "method",
493                "accessibility": "public",
494                "static": true,
495                "optional": false,
496                "computed": false,
497                "value": {
498                  "type": "FunctionExpression",
499                  "function": {
500                    "type": "ScriptFunction",
501                    "id": {
502                      "type": "Identifier",
503                      "name": "foo",
504                      "decorators": [],
505                      "loc": {
506                        "start": {
507                          "line": 20,
508                          "column": 10,
509                          "program": "rest_parameter_01.ets"
510                        },
511                        "end": {
512                          "line": 20,
513                          "column": 13,
514                          "program": "rest_parameter_01.ets"
515                        }
516                      }
517                    },
518                    "generator": false,
519                    "async": false,
520                    "expression": false,
521                    "params": [
522                      {
523                        "type": "ETSParameterExpression",
524                        "name": {
525                          "type": "Identifier",
526                          "name": "x",
527                          "typeAnnotation": {
528                            "type": "ETSPrimitiveType",
529                            "loc": {
530                              "start": {
531                                "line": 20,
532                                "column": 18,
533                                "program": "rest_parameter_01.ets"
534                              },
535                              "end": {
536                                "line": 20,
537                                "column": 21,
538                                "program": "rest_parameter_01.ets"
539                              }
540                            }
541                          },
542                          "decorators": [],
543                          "loc": {
544                            "start": {
545                              "line": 20,
546                              "column": 15,
547                              "program": "rest_parameter_01.ets"
548                            },
549                            "end": {
550                              "line": 20,
551                              "column": 21,
552                              "program": "rest_parameter_01.ets"
553                            }
554                          }
555                        },
556                        "loc": {
557                          "start": {
558                            "line": 20,
559                            "column": 15,
560                            "program": "rest_parameter_01.ets"
561                          },
562                          "end": {
563                            "line": 20,
564                            "column": 21,
565                            "program": "rest_parameter_01.ets"
566                          }
567                        }
568                      },
569                      {
570                        "type": "ETSParameterExpression",
571                        "rest parameter": {
572                          "type": "RestElement",
573                          "argument": {
574                            "type": "Identifier",
575                            "name": "r",
576                            "decorators": [],
577                            "loc": {
578                              "start": {
579                                "line": 20,
580                                "column": 26,
581                                "program": "rest_parameter_01.ets"
582                              },
583                              "end": {
584                                "line": 20,
585                                "column": 27,
586                                "program": "rest_parameter_01.ets"
587                              }
588                            }
589                          },
590                          "typeAnnotation": {
591                            "type": "ETSTypeReference",
592                            "part": {
593                              "type": "ETSTypeReferencePart",
594                              "name": {
595                                "type": "Identifier",
596                                "name": "Array",
597                                "decorators": [],
598                                "loc": {
599                                  "start": {
600                                    "line": 1,
601                                    "column": 1,
602                                    "program": "rest_parameter_01.ets"
603                                  },
604                                  "end": {
605                                    "line": 1,
606                                    "column": 3,
607                                    "program": "rest_parameter_01.ets"
608                                  }
609                                }
610                              },
611                              "typeParams": {
612                                "type": "TSTypeParameterInstantiation",
613                                "params": [
614                                  {
615                                    "type": "ETSPrimitiveType",
616                                    "loc": {
617                                      "start": {
618                                        "line": 1,
619                                        "column": 3,
620                                        "program": "rest_parameter_01.ets"
621                                      },
622                                      "end": {
623                                        "line": 1,
624                                        "column": 3,
625                                        "program": "rest_parameter_01.ets"
626                                      }
627                                    }
628                                  }
629                                ],
630                                "loc": {
631                                  "start": {
632                                    "line": 1,
633                                    "column": 3,
634                                    "program": "rest_parameter_01.ets"
635                                  },
636                                  "end": {
637                                    "line": 1,
638                                    "column": 3,
639                                    "program": "rest_parameter_01.ets"
640                                  }
641                                }
642                              },
643                              "loc": {
644                                "start": {
645                                  "line": 1,
646                                  "column": 1,
647                                  "program": "rest_parameter_01.ets"
648                                },
649                                "end": {
650                                  "line": 1,
651                                  "column": 3,
652                                  "program": "rest_parameter_01.ets"
653                                }
654                              }
655                            },
656                            "loc": {
657                              "start": {
658                                "line": 20,
659                                "column": 32,
660                                "program": "rest_parameter_01.ets"
661                              },
662                              "end": {
663                                "line": 20,
664                                "column": 34,
665                                "program": "rest_parameter_01.ets"
666                              }
667                            }
668                          },
669                          "loc": {
670                            "start": {
671                              "line": 20,
672                              "column": 23,
673                              "program": "rest_parameter_01.ets"
674                            },
675                            "end": {
676                              "line": 20,
677                              "column": 34,
678                              "program": "rest_parameter_01.ets"
679                            }
680                          }
681                        },
682                        "loc": {
683                          "start": {
684                            "line": 20,
685                            "column": 23,
686                            "program": "rest_parameter_01.ets"
687                          },
688                          "end": {
689                            "line": 20,
690                            "column": 34,
691                            "program": "rest_parameter_01.ets"
692                          }
693                        }
694                      }
695                    ],
696                    "returnType": {
697                      "type": "ETSPrimitiveType",
698                      "loc": {
699                        "start": {
700                          "line": 20,
701                          "column": 37,
702                          "program": "rest_parameter_01.ets"
703                        },
704                        "end": {
705                          "line": 20,
706                          "column": 40,
707                          "program": "rest_parameter_01.ets"
708                        }
709                      }
710                    },
711                    "body": {
712                      "type": "BlockStatement",
713                      "statements": [
714                        {
715                          "type": "ReturnStatement",
716                          "argument": {
717                            "type": "NumberLiteral",
718                            "value": 2,
719                            "loc": {
720                              "start": {
721                                "line": 21,
722                                "column": 10,
723                                "program": "rest_parameter_01.ets"
724                              },
725                              "end": {
726                                "line": 21,
727                                "column": 11,
728                                "program": "rest_parameter_01.ets"
729                              }
730                            }
731                          },
732                          "loc": {
733                            "start": {
734                              "line": 21,
735                              "column": 3,
736                              "program": "rest_parameter_01.ets"
737                            },
738                            "end": {
739                              "line": 21,
740                              "column": 12,
741                              "program": "rest_parameter_01.ets"
742                            }
743                          }
744                        }
745                      ],
746                      "loc": {
747                        "start": {
748                          "line": 20,
749                          "column": 41,
750                          "program": "rest_parameter_01.ets"
751                        },
752                        "end": {
753                          "line": 22,
754                          "column": 2,
755                          "program": "rest_parameter_01.ets"
756                        }
757                      }
758                    },
759                    "loc": {
760                      "start": {
761                        "line": 20,
762                        "column": 10,
763                        "program": "rest_parameter_01.ets"
764                      },
765                      "end": {
766                        "line": 22,
767                        "column": 2,
768                        "program": "rest_parameter_01.ets"
769                      }
770                    }
771                  },
772                  "loc": {
773                    "start": {
774                      "line": 20,
775                      "column": 10,
776                      "program": "rest_parameter_01.ets"
777                    },
778                    "end": {
779                      "line": 22,
780                      "column": 2,
781                      "program": "rest_parameter_01.ets"
782                    }
783                  }
784                },
785                "overloads": [],
786                "decorators": [],
787                "loc": {
788                  "start": {
789                    "line": 20,
790                    "column": 1,
791                    "program": "rest_parameter_01.ets"
792                  },
793                  "end": {
794                    "line": 22,
795                    "column": 2,
796                    "program": "rest_parameter_01.ets"
797                  }
798                }
799              }
800            ],
801            "decorators": [],
802            "loc": {
803              "start": {
804                "line": 16,
805                "column": 1,
806                "program": "rest_parameter_01.ets"
807              },
808              "end": {
809                "line": 18,
810                "column": 2,
811                "program": "rest_parameter_01.ets"
812              }
813            }
814          }
815        ],
816        "loc": {
817          "start": {
818            "line": 1,
819            "column": 1,
820            "program": "rest_parameter_01.ets"
821          },
822          "end": {
823            "line": 1,
824            "column": 1,
825            "program": "rest_parameter_01.ets"
826          }
827        }
828      },
829      "loc": {
830        "start": {
831          "line": 1,
832          "column": 1,
833          "program": "rest_parameter_01.ets"
834        },
835        "end": {
836          "line": 1,
837          "column": 1,
838          "program": "rest_parameter_01.ets"
839        }
840      }
841    }
842  ],
843  "loc": {
844    "start": {
845      "line": 1,
846      "column": 1,
847      "program": "rest_parameter_01.ets"
848    },
849    "end": {
850      "line": 23,
851      "column": 1,
852      "program": "rest_parameter_01.ets"
853    }
854  }
855}
856