• 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": "A",
10          "decorators": [],
11          "loc": {
12            "start": {
13              "line": 16,
14              "column": 7,
15              "program": "overload_with_generics.ets"
16            },
17            "end": {
18              "line": 16,
19              "column": 8,
20              "program": "overload_with_generics.ets"
21            }
22          }
23        },
24        "superClass": null,
25        "implements": [],
26        "body": [
27          {
28            "type": "MethodDefinition",
29            "key": {
30              "type": "Identifier",
31              "name": "foo",
32              "decorators": [],
33              "loc": {
34                "start": {
35                  "line": 17,
36                  "column": 19,
37                  "program": "overload_with_generics.ets"
38                },
39                "end": {
40                  "line": 17,
41                  "column": 22,
42                  "program": "overload_with_generics.ets"
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": "foo",
58                  "decorators": [],
59                  "loc": {
60                    "start": {
61                      "line": 17,
62                      "column": 19,
63                      "program": "overload_with_generics.ets"
64                    },
65                    "end": {
66                      "line": 17,
67                      "column": 22,
68                      "program": "overload_with_generics.ets"
69                    }
70                  }
71                },
72                "generator": false,
73                "async": false,
74                "expression": false,
75                "params": [
76                  {
77                    "type": "ETSParameterExpression",
78                    "name": {
79                      "type": "Identifier",
80                      "name": "arg",
81                      "typeAnnotation": {
82                        "type": "ETSTypeReference",
83                        "part": {
84                          "type": "ETSTypeReferencePart",
85                          "name": {
86                            "type": "Identifier",
87                            "name": "A1",
88                            "decorators": [],
89                            "loc": {
90                              "start": {
91                                "line": 17,
92                                "column": 32,
93                                "program": "overload_with_generics.ets"
94                              },
95                              "end": {
96                                "line": 17,
97                                "column": 34,
98                                "program": "overload_with_generics.ets"
99                              }
100                            }
101                          },
102                          "loc": {
103                            "start": {
104                              "line": 17,
105                              "column": 32,
106                              "program": "overload_with_generics.ets"
107                            },
108                            "end": {
109                              "line": 17,
110                              "column": 35,
111                              "program": "overload_with_generics.ets"
112                            }
113                          }
114                        },
115                        "loc": {
116                          "start": {
117                            "line": 17,
118                            "column": 32,
119                            "program": "overload_with_generics.ets"
120                          },
121                          "end": {
122                            "line": 17,
123                            "column": 35,
124                            "program": "overload_with_generics.ets"
125                          }
126                        }
127                      },
128                      "decorators": [],
129                      "loc": {
130                        "start": {
131                          "line": 17,
132                          "column": 27,
133                          "program": "overload_with_generics.ets"
134                        },
135                        "end": {
136                          "line": 17,
137                          "column": 35,
138                          "program": "overload_with_generics.ets"
139                        }
140                      }
141                    },
142                    "loc": {
143                      "start": {
144                        "line": 17,
145                        "column": 27,
146                        "program": "overload_with_generics.ets"
147                      },
148                      "end": {
149                        "line": 17,
150                        "column": 35,
151                        "program": "overload_with_generics.ets"
152                      }
153                    }
154                  }
155                ],
156                "returnType": {
157                  "type": "ETSPrimitiveType",
158                  "loc": {
159                    "start": {
160                      "line": 17,
161                      "column": 37,
162                      "program": "overload_with_generics.ets"
163                    },
164                    "end": {
165                      "line": 17,
166                      "column": 41,
167                      "program": "overload_with_generics.ets"
168                    }
169                  }
170                },
171                "typeParameters": {
172                  "type": "TSTypeParameterDeclaration",
173                  "params": [
174                    {
175                      "type": "TSTypeParameter",
176                      "name": {
177                        "type": "Identifier",
178                        "name": "A1",
179                        "decorators": [],
180                        "loc": {
181                          "start": {
182                            "line": 17,
183                            "column": 23,
184                            "program": "overload_with_generics.ets"
185                          },
186                          "end": {
187                            "line": 17,
188                            "column": 25,
189                            "program": "overload_with_generics.ets"
190                          }
191                        }
192                      },
193                      "loc": {
194                        "start": {
195                          "line": 17,
196                          "column": 23,
197                          "program": "overload_with_generics.ets"
198                        },
199                        "end": {
200                          "line": 17,
201                          "column": 26,
202                          "program": "overload_with_generics.ets"
203                        }
204                      }
205                    }
206                  ],
207                  "loc": {
208                    "start": {
209                      "line": 17,
210                      "column": 22,
211                      "program": "overload_with_generics.ets"
212                    },
213                    "end": {
214                      "line": 17,
215                      "column": 26,
216                      "program": "overload_with_generics.ets"
217                    }
218                  }
219                },
220                "body": {
221                  "type": "BlockStatement",
222                  "statements": [],
223                  "loc": {
224                    "start": {
225                      "line": 17,
226                      "column": 42,
227                      "program": "overload_with_generics.ets"
228                    },
229                    "end": {
230                      "line": 17,
231                      "column": 44,
232                      "program": "overload_with_generics.ets"
233                    }
234                  }
235                },
236                "loc": {
237                  "start": {
238                    "line": 17,
239                    "column": 22,
240                    "program": "overload_with_generics.ets"
241                  },
242                  "end": {
243                    "line": 17,
244                    "column": 44,
245                    "program": "overload_with_generics.ets"
246                  }
247                }
248              },
249              "loc": {
250                "start": {
251                  "line": 17,
252                  "column": 22,
253                  "program": "overload_with_generics.ets"
254                },
255                "end": {
256                  "line": 17,
257                  "column": 44,
258                  "program": "overload_with_generics.ets"
259                }
260              }
261            },
262            "overloads": [
263              {
264                "type": "MethodDefinition",
265                "key": {
266                  "type": "Identifier",
267                  "name": "foo",
268                  "decorators": [],
269                  "loc": {
270                    "start": {
271                      "line": 18,
272                      "column": 19,
273                      "program": "overload_with_generics.ets"
274                    },
275                    "end": {
276                      "line": 18,
277                      "column": 22,
278                      "program": "overload_with_generics.ets"
279                    }
280                  }
281                },
282                "kind": "method",
283                "accessibility": "public",
284                "static": true,
285                "optional": false,
286                "computed": false,
287                "value": {
288                  "type": "FunctionExpression",
289                  "function": {
290                    "type": "ScriptFunction",
291                    "id": {
292                      "type": "Identifier",
293                      "name": "foo",
294                      "decorators": [],
295                      "loc": {
296                        "start": {
297                          "line": 18,
298                          "column": 19,
299                          "program": "overload_with_generics.ets"
300                        },
301                        "end": {
302                          "line": 18,
303                          "column": 22,
304                          "program": "overload_with_generics.ets"
305                        }
306                      }
307                    },
308                    "generator": false,
309                    "async": false,
310                    "expression": false,
311                    "params": [
312                      {
313                        "type": "ETSParameterExpression",
314                        "name": {
315                          "type": "Identifier",
316                          "name": "arg1",
317                          "typeAnnotation": {
318                            "type": "ETSTypeReference",
319                            "part": {
320                              "type": "ETSTypeReferencePart",
321                              "name": {
322                                "type": "Identifier",
323                                "name": "A1",
324                                "decorators": [],
325                                "loc": {
326                                  "start": {
327                                    "line": 18,
328                                    "column": 37,
329                                    "program": "overload_with_generics.ets"
330                                  },
331                                  "end": {
332                                    "line": 18,
333                                    "column": 39,
334                                    "program": "overload_with_generics.ets"
335                                  }
336                                }
337                              },
338                              "loc": {
339                                "start": {
340                                  "line": 18,
341                                  "column": 37,
342                                  "program": "overload_with_generics.ets"
343                                },
344                                "end": {
345                                  "line": 18,
346                                  "column": 40,
347                                  "program": "overload_with_generics.ets"
348                                }
349                              }
350                            },
351                            "loc": {
352                              "start": {
353                                "line": 18,
354                                "column": 37,
355                                "program": "overload_with_generics.ets"
356                              },
357                              "end": {
358                                "line": 18,
359                                "column": 40,
360                                "program": "overload_with_generics.ets"
361                              }
362                            }
363                          },
364                          "decorators": [],
365                          "loc": {
366                            "start": {
367                              "line": 18,
368                              "column": 31,
369                              "program": "overload_with_generics.ets"
370                            },
371                            "end": {
372                              "line": 18,
373                              "column": 40,
374                              "program": "overload_with_generics.ets"
375                            }
376                          }
377                        },
378                        "loc": {
379                          "start": {
380                            "line": 18,
381                            "column": 31,
382                            "program": "overload_with_generics.ets"
383                          },
384                          "end": {
385                            "line": 18,
386                            "column": 40,
387                            "program": "overload_with_generics.ets"
388                          }
389                        }
390                      },
391                      {
392                        "type": "ETSParameterExpression",
393                        "name": {
394                          "type": "Identifier",
395                          "name": "arg2",
396                          "typeAnnotation": {
397                            "type": "ETSTypeReference",
398                            "part": {
399                              "type": "ETSTypeReferencePart",
400                              "name": {
401                                "type": "Identifier",
402                                "name": "A2",
403                                "decorators": [],
404                                "loc": {
405                                  "start": {
406                                    "line": 18,
407                                    "column": 47,
408                                    "program": "overload_with_generics.ets"
409                                  },
410                                  "end": {
411                                    "line": 18,
412                                    "column": 49,
413                                    "program": "overload_with_generics.ets"
414                                  }
415                                }
416                              },
417                              "loc": {
418                                "start": {
419                                  "line": 18,
420                                  "column": 47,
421                                  "program": "overload_with_generics.ets"
422                                },
423                                "end": {
424                                  "line": 18,
425                                  "column": 50,
426                                  "program": "overload_with_generics.ets"
427                                }
428                              }
429                            },
430                            "loc": {
431                              "start": {
432                                "line": 18,
433                                "column": 47,
434                                "program": "overload_with_generics.ets"
435                              },
436                              "end": {
437                                "line": 18,
438                                "column": 50,
439                                "program": "overload_with_generics.ets"
440                              }
441                            }
442                          },
443                          "decorators": [],
444                          "loc": {
445                            "start": {
446                              "line": 18,
447                              "column": 41,
448                              "program": "overload_with_generics.ets"
449                            },
450                            "end": {
451                              "line": 18,
452                              "column": 50,
453                              "program": "overload_with_generics.ets"
454                            }
455                          }
456                        },
457                        "loc": {
458                          "start": {
459                            "line": 18,
460                            "column": 41,
461                            "program": "overload_with_generics.ets"
462                          },
463                          "end": {
464                            "line": 18,
465                            "column": 50,
466                            "program": "overload_with_generics.ets"
467                          }
468                        }
469                      }
470                    ],
471                    "returnType": {
472                      "type": "ETSPrimitiveType",
473                      "loc": {
474                        "start": {
475                          "line": 18,
476                          "column": 52,
477                          "program": "overload_with_generics.ets"
478                        },
479                        "end": {
480                          "line": 18,
481                          "column": 56,
482                          "program": "overload_with_generics.ets"
483                        }
484                      }
485                    },
486                    "typeParameters": {
487                      "type": "TSTypeParameterDeclaration",
488                      "params": [
489                        {
490                          "type": "TSTypeParameter",
491                          "name": {
492                            "type": "Identifier",
493                            "name": "A1",
494                            "decorators": [],
495                            "loc": {
496                              "start": {
497                                "line": 18,
498                                "column": 23,
499                                "program": "overload_with_generics.ets"
500                              },
501                              "end": {
502                                "line": 18,
503                                "column": 25,
504                                "program": "overload_with_generics.ets"
505                              }
506                            }
507                          },
508                          "loc": {
509                            "start": {
510                              "line": 18,
511                              "column": 23,
512                              "program": "overload_with_generics.ets"
513                            },
514                            "end": {
515                              "line": 18,
516                              "column": 26,
517                              "program": "overload_with_generics.ets"
518                            }
519                          }
520                        },
521                        {
522                          "type": "TSTypeParameter",
523                          "name": {
524                            "type": "Identifier",
525                            "name": "A2",
526                            "decorators": [],
527                            "loc": {
528                              "start": {
529                                "line": 18,
530                                "column": 27,
531                                "program": "overload_with_generics.ets"
532                              },
533                              "end": {
534                                "line": 18,
535                                "column": 29,
536                                "program": "overload_with_generics.ets"
537                              }
538                            }
539                          },
540                          "loc": {
541                            "start": {
542                              "line": 18,
543                              "column": 27,
544                              "program": "overload_with_generics.ets"
545                            },
546                            "end": {
547                              "line": 18,
548                              "column": 30,
549                              "program": "overload_with_generics.ets"
550                            }
551                          }
552                        }
553                      ],
554                      "loc": {
555                        "start": {
556                          "line": 18,
557                          "column": 22,
558                          "program": "overload_with_generics.ets"
559                        },
560                        "end": {
561                          "line": 18,
562                          "column": 30,
563                          "program": "overload_with_generics.ets"
564                        }
565                      }
566                    },
567                    "body": {
568                      "type": "BlockStatement",
569                      "statements": [],
570                      "loc": {
571                        "start": {
572                          "line": 18,
573                          "column": 57,
574                          "program": "overload_with_generics.ets"
575                        },
576                        "end": {
577                          "line": 18,
578                          "column": 59,
579                          "program": "overload_with_generics.ets"
580                        }
581                      }
582                    },
583                    "loc": {
584                      "start": {
585                        "line": 18,
586                        "column": 22,
587                        "program": "overload_with_generics.ets"
588                      },
589                      "end": {
590                        "line": 18,
591                        "column": 59,
592                        "program": "overload_with_generics.ets"
593                      }
594                    }
595                  },
596                  "loc": {
597                    "start": {
598                      "line": 18,
599                      "column": 22,
600                      "program": "overload_with_generics.ets"
601                    },
602                    "end": {
603                      "line": 18,
604                      "column": 59,
605                      "program": "overload_with_generics.ets"
606                    }
607                  }
608                },
609                "overloads": [],
610                "decorators": [],
611                "loc": {
612                  "start": {
613                    "line": 18,
614                    "column": 5,
615                    "program": "overload_with_generics.ets"
616                  },
617                  "end": {
618                    "line": 18,
619                    "column": 59,
620                    "program": "overload_with_generics.ets"
621                  }
622                }
623              }
624            ],
625            "decorators": [],
626            "loc": {
627              "start": {
628                "line": 17,
629                "column": 5,
630                "program": "overload_with_generics.ets"
631              },
632              "end": {
633                "line": 17,
634                "column": 44,
635                "program": "overload_with_generics.ets"
636              }
637            }
638          },
639          {
640            "type": "MethodDefinition",
641            "key": {
642              "type": "Identifier",
643              "name": "constructor",
644              "decorators": [],
645              "loc": {
646                "start": {
647                  "line": 16,
648                  "column": 10,
649                  "program": "overload_with_generics.ets"
650                },
651                "end": {
652                  "line": 16,
653                  "column": 10,
654                  "program": "overload_with_generics.ets"
655                }
656              }
657            },
658            "kind": "constructor",
659            "static": false,
660            "optional": false,
661            "computed": false,
662            "value": {
663              "type": "FunctionExpression",
664              "function": {
665                "type": "ScriptFunction",
666                "id": {
667                  "type": "Identifier",
668                  "name": "constructor",
669                  "decorators": [],
670                  "loc": {
671                    "start": {
672                      "line": 16,
673                      "column": 10,
674                      "program": "overload_with_generics.ets"
675                    },
676                    "end": {
677                      "line": 16,
678                      "column": 10,
679                      "program": "overload_with_generics.ets"
680                    }
681                  }
682                },
683                "generator": false,
684                "async": false,
685                "expression": false,
686                "params": [],
687                "body": {
688                  "type": "BlockStatement",
689                  "statements": [],
690                  "loc": {
691                    "start": {
692                      "line": 16,
693                      "column": 10,
694                      "program": "overload_with_generics.ets"
695                    },
696                    "end": {
697                      "line": 16,
698                      "column": 10,
699                      "program": "overload_with_generics.ets"
700                    }
701                  }
702                },
703                "loc": {
704                  "start": {
705                    "line": 16,
706                    "column": 10,
707                    "program": "overload_with_generics.ets"
708                  },
709                  "end": {
710                    "line": 16,
711                    "column": 10,
712                    "program": "overload_with_generics.ets"
713                  }
714                }
715              },
716              "loc": {
717                "start": {
718                  "line": 16,
719                  "column": 10,
720                  "program": "overload_with_generics.ets"
721                },
722                "end": {
723                  "line": 16,
724                  "column": 10,
725                  "program": "overload_with_generics.ets"
726                }
727              }
728            },
729            "overloads": [],
730            "decorators": [],
731            "loc": {
732              "start": {
733                "line": 1,
734                "column": 1,
735                "program": null
736              },
737              "end": {
738                "line": 1,
739                "column": 1,
740                "program": null
741              }
742            }
743          }
744        ],
745        "loc": {
746          "start": {
747            "line": 16,
748            "column": 9,
749            "program": "overload_with_generics.ets"
750          },
751          "end": {
752            "line": 21,
753            "column": 9,
754            "program": "overload_with_generics.ets"
755          }
756        }
757      },
758      "loc": {
759        "start": {
760          "line": 16,
761          "column": 1,
762          "program": "overload_with_generics.ets"
763        },
764        "end": {
765          "line": 21,
766          "column": 9,
767          "program": "overload_with_generics.ets"
768        }
769      }
770    },
771    {
772      "type": "ClassDeclaration",
773      "definition": {
774        "id": {
775          "type": "Identifier",
776          "name": "ETSGLOBAL",
777          "decorators": [],
778          "loc": {
779            "start": {
780              "line": 1,
781              "column": 1,
782              "program": "overload_with_generics.ets"
783            },
784            "end": {
785              "line": 1,
786              "column": 1,
787              "program": "overload_with_generics.ets"
788            }
789          }
790        },
791        "superClass": null,
792        "implements": [],
793        "body": [
794          {
795            "type": "MethodDefinition",
796            "key": {
797              "type": "Identifier",
798              "name": "_$init$_",
799              "decorators": [],
800              "loc": {
801                "start": {
802                  "line": 1,
803                  "column": 1,
804                  "program": null
805                },
806                "end": {
807                  "line": 1,
808                  "column": 1,
809                  "program": null
810                }
811              }
812            },
813            "kind": "method",
814            "accessibility": "public",
815            "static": true,
816            "optional": false,
817            "computed": false,
818            "value": {
819              "type": "FunctionExpression",
820              "function": {
821                "type": "ScriptFunction",
822                "id": {
823                  "type": "Identifier",
824                  "name": "_$init$_",
825                  "decorators": [],
826                  "loc": {
827                    "start": {
828                      "line": 1,
829                      "column": 1,
830                      "program": null
831                    },
832                    "end": {
833                      "line": 1,
834                      "column": 1,
835                      "program": null
836                    }
837                  }
838                },
839                "generator": false,
840                "async": false,
841                "expression": false,
842                "params": [],
843                "body": {
844                  "type": "BlockStatement",
845                  "statements": [],
846                  "loc": {
847                    "start": {
848                      "line": 1,
849                      "column": 1,
850                      "program": null
851                    },
852                    "end": {
853                      "line": 1,
854                      "column": 1,
855                      "program": null
856                    }
857                  }
858                },
859                "loc": {
860                  "start": {
861                    "line": 1,
862                    "column": 1,
863                    "program": null
864                  },
865                  "end": {
866                    "line": 1,
867                    "column": 1,
868                    "program": null
869                  }
870                }
871              },
872              "loc": {
873                "start": {
874                  "line": 1,
875                  "column": 1,
876                  "program": null
877                },
878                "end": {
879                  "line": 1,
880                  "column": 1,
881                  "program": null
882                }
883              }
884            },
885            "overloads": [],
886            "decorators": [],
887            "loc": {
888              "start": {
889                "line": 1,
890                "column": 1,
891                "program": "overload_with_generics.ets"
892              },
893              "end": {
894                "line": 1,
895                "column": 1,
896                "program": "overload_with_generics.ets"
897              }
898            }
899          },
900          {
901            "type": "MethodDefinition",
902            "key": {
903              "type": "Identifier",
904              "name": "main",
905              "decorators": [],
906              "loc": {
907                "start": {
908                  "line": 21,
909                  "column": 10,
910                  "program": "overload_with_generics.ets"
911                },
912                "end": {
913                  "line": 21,
914                  "column": 14,
915                  "program": "overload_with_generics.ets"
916                }
917              }
918            },
919            "kind": "method",
920            "accessibility": "public",
921            "static": true,
922            "optional": false,
923            "computed": false,
924            "value": {
925              "type": "FunctionExpression",
926              "function": {
927                "type": "ScriptFunction",
928                "id": {
929                  "type": "Identifier",
930                  "name": "main",
931                  "decorators": [],
932                  "loc": {
933                    "start": {
934                      "line": 21,
935                      "column": 10,
936                      "program": "overload_with_generics.ets"
937                    },
938                    "end": {
939                      "line": 21,
940                      "column": 14,
941                      "program": "overload_with_generics.ets"
942                    }
943                  }
944                },
945                "generator": false,
946                "async": false,
947                "expression": false,
948                "params": [],
949                "returnType": {
950                  "type": "ETSPrimitiveType",
951                  "loc": {
952                    "start": {
953                      "line": 21,
954                      "column": 18,
955                      "program": "overload_with_generics.ets"
956                    },
957                    "end": {
958                      "line": 21,
959                      "column": 21,
960                      "program": "overload_with_generics.ets"
961                    }
962                  }
963                },
964                "body": {
965                  "type": "BlockStatement",
966                  "statements": [
967                    {
968                      "type": "ExpressionStatement",
969                      "expression": {
970                        "type": "CallExpression",
971                        "callee": {
972                          "type": "MemberExpression",
973                          "object": {
974                            "type": "Identifier",
975                            "name": "A",
976                            "decorators": [],
977                            "loc": {
978                              "start": {
979                                "line": 22,
980                                "column": 5,
981                                "program": "overload_with_generics.ets"
982                              },
983                              "end": {
984                                "line": 22,
985                                "column": 6,
986                                "program": "overload_with_generics.ets"
987                              }
988                            }
989                          },
990                          "property": {
991                            "type": "Identifier",
992                            "name": "foo",
993                            "decorators": [],
994                            "loc": {
995                              "start": {
996                                "line": 22,
997                                "column": 7,
998                                "program": "overload_with_generics.ets"
999                              },
1000                              "end": {
1001                                "line": 22,
1002                                "column": 10,
1003                                "program": "overload_with_generics.ets"
1004                              }
1005                            }
1006                          },
1007                          "computed": false,
1008                          "optional": false,
1009                          "loc": {
1010                            "start": {
1011                              "line": 22,
1012                              "column": 5,
1013                              "program": "overload_with_generics.ets"
1014                            },
1015                            "end": {
1016                              "line": 22,
1017                              "column": 10,
1018                              "program": "overload_with_generics.ets"
1019                            }
1020                          }
1021                        },
1022                        "arguments": [
1023                          {
1024                            "type": "StringLiteral",
1025                            "value": "lll",
1026                            "loc": {
1027                              "start": {
1028                                "line": 22,
1029                                "column": 11,
1030                                "program": "overload_with_generics.ets"
1031                              },
1032                              "end": {
1033                                "line": 22,
1034                                "column": 16,
1035                                "program": "overload_with_generics.ets"
1036                              }
1037                            }
1038                          }
1039                        ],
1040                        "optional": false,
1041                        "loc": {
1042                          "start": {
1043                            "line": 22,
1044                            "column": 5,
1045                            "program": "overload_with_generics.ets"
1046                          },
1047                          "end": {
1048                            "line": 22,
1049                            "column": 17,
1050                            "program": "overload_with_generics.ets"
1051                          }
1052                        }
1053                      },
1054                      "loc": {
1055                        "start": {
1056                          "line": 22,
1057                          "column": 5,
1058                          "program": "overload_with_generics.ets"
1059                        },
1060                        "end": {
1061                          "line": 22,
1062                          "column": 17,
1063                          "program": "overload_with_generics.ets"
1064                        }
1065                      }
1066                    },
1067                    {
1068                      "type": "ExpressionStatement",
1069                      "expression": {
1070                        "type": "CallExpression",
1071                        "callee": {
1072                          "type": "MemberExpression",
1073                          "object": {
1074                            "type": "Identifier",
1075                            "name": "A",
1076                            "decorators": [],
1077                            "loc": {
1078                              "start": {
1079                                "line": 23,
1080                                "column": 5,
1081                                "program": "overload_with_generics.ets"
1082                              },
1083                              "end": {
1084                                "line": 23,
1085                                "column": 6,
1086                                "program": "overload_with_generics.ets"
1087                              }
1088                            }
1089                          },
1090                          "property": {
1091                            "type": "Identifier",
1092                            "name": "foo",
1093                            "decorators": [],
1094                            "loc": {
1095                              "start": {
1096                                "line": 23,
1097                                "column": 7,
1098                                "program": "overload_with_generics.ets"
1099                              },
1100                              "end": {
1101                                "line": 23,
1102                                "column": 10,
1103                                "program": "overload_with_generics.ets"
1104                              }
1105                            }
1106                          },
1107                          "computed": false,
1108                          "optional": false,
1109                          "loc": {
1110                            "start": {
1111                              "line": 23,
1112                              "column": 5,
1113                              "program": "overload_with_generics.ets"
1114                            },
1115                            "end": {
1116                              "line": 23,
1117                              "column": 10,
1118                              "program": "overload_with_generics.ets"
1119                            }
1120                          }
1121                        },
1122                        "arguments": [
1123                          {
1124                            "type": "StringLiteral",
1125                            "value": "lll",
1126                            "loc": {
1127                              "start": {
1128                                "line": 23,
1129                                "column": 11,
1130                                "program": "overload_with_generics.ets"
1131                              },
1132                              "end": {
1133                                "line": 23,
1134                                "column": 16,
1135                                "program": "overload_with_generics.ets"
1136                              }
1137                            }
1138                          },
1139                          {
1140                            "type": "NumberLiteral",
1141                            "value": 1,
1142                            "loc": {
1143                              "start": {
1144                                "line": 23,
1145                                "column": 18,
1146                                "program": "overload_with_generics.ets"
1147                              },
1148                              "end": {
1149                                "line": 23,
1150                                "column": 19,
1151                                "program": "overload_with_generics.ets"
1152                              }
1153                            }
1154                          }
1155                        ],
1156                        "optional": false,
1157                        "loc": {
1158                          "start": {
1159                            "line": 23,
1160                            "column": 5,
1161                            "program": "overload_with_generics.ets"
1162                          },
1163                          "end": {
1164                            "line": 23,
1165                            "column": 20,
1166                            "program": "overload_with_generics.ets"
1167                          }
1168                        }
1169                      },
1170                      "loc": {
1171                        "start": {
1172                          "line": 23,
1173                          "column": 5,
1174                          "program": "overload_with_generics.ets"
1175                        },
1176                        "end": {
1177                          "line": 23,
1178                          "column": 20,
1179                          "program": "overload_with_generics.ets"
1180                        }
1181                      }
1182                    },
1183                    {
1184                      "type": "ReturnStatement",
1185                      "argument": {
1186                        "type": "NumberLiteral",
1187                        "value": 0,
1188                        "loc": {
1189                          "start": {
1190                            "line": 24,
1191                            "column": 12,
1192                            "program": "overload_with_generics.ets"
1193                          },
1194                          "end": {
1195                            "line": 24,
1196                            "column": 13,
1197                            "program": "overload_with_generics.ets"
1198                          }
1199                        }
1200                      },
1201                      "loc": {
1202                        "start": {
1203                          "line": 24,
1204                          "column": 5,
1205                          "program": "overload_with_generics.ets"
1206                        },
1207                        "end": {
1208                          "line": 24,
1209                          "column": 13,
1210                          "program": "overload_with_generics.ets"
1211                        }
1212                      }
1213                    }
1214                  ],
1215                  "loc": {
1216                    "start": {
1217                      "line": 21,
1218                      "column": 22,
1219                      "program": "overload_with_generics.ets"
1220                    },
1221                    "end": {
1222                      "line": 25,
1223                      "column": 2,
1224                      "program": "overload_with_generics.ets"
1225                    }
1226                  }
1227                },
1228                "loc": {
1229                  "start": {
1230                    "line": 21,
1231                    "column": 10,
1232                    "program": "overload_with_generics.ets"
1233                  },
1234                  "end": {
1235                    "line": 25,
1236                    "column": 2,
1237                    "program": "overload_with_generics.ets"
1238                  }
1239                }
1240              },
1241              "loc": {
1242                "start": {
1243                  "line": 21,
1244                  "column": 10,
1245                  "program": "overload_with_generics.ets"
1246                },
1247                "end": {
1248                  "line": 25,
1249                  "column": 2,
1250                  "program": "overload_with_generics.ets"
1251                }
1252              }
1253            },
1254            "overloads": [],
1255            "decorators": [],
1256            "loc": {
1257              "start": {
1258                "line": 21,
1259                "column": 1,
1260                "program": "overload_with_generics.ets"
1261              },
1262              "end": {
1263                "line": 25,
1264                "column": 2,
1265                "program": "overload_with_generics.ets"
1266              }
1267            }
1268          }
1269        ],
1270        "loc": {
1271          "start": {
1272            "line": 1,
1273            "column": 1,
1274            "program": "overload_with_generics.ets"
1275          },
1276          "end": {
1277            "line": 1,
1278            "column": 1,
1279            "program": "overload_with_generics.ets"
1280          }
1281        }
1282      },
1283      "loc": {
1284        "start": {
1285          "line": 1,
1286          "column": 1,
1287          "program": "overload_with_generics.ets"
1288        },
1289        "end": {
1290          "line": 1,
1291          "column": 1,
1292          "program": "overload_with_generics.ets"
1293        }
1294      }
1295    }
1296  ],
1297  "loc": {
1298    "start": {
1299      "line": 1,
1300      "column": 1,
1301      "program": "overload_with_generics.ets"
1302    },
1303    "end": {
1304      "line": 26,
1305      "column": 1,
1306      "program": "overload_with_generics.ets"
1307    }
1308  }
1309}
1310