• 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": "X",
10          "decorators": [],
11          "loc": {
12            "start": {
13              "line": 21,
14              "column": 7,
15              "program": "generics_implicit_lambda1.ets"
16            },
17            "end": {
18              "line": 21,
19              "column": 8,
20              "program": "generics_implicit_lambda1.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": 22,
36                  "column": 12,
37                  "program": "generics_implicit_lambda1.ets"
38                },
39                "end": {
40                  "line": 22,
41                  "column": 15,
42                  "program": "generics_implicit_lambda1.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": 22,
62                      "column": 12,
63                      "program": "generics_implicit_lambda1.ets"
64                    },
65                    "end": {
66                      "line": 22,
67                      "column": 15,
68                      "program": "generics_implicit_lambda1.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": "first",
81                      "typeAnnotation": {
82                        "type": "ETSFunctionType",
83                        "params": [],
84                        "returnType": {
85                          "type": "ETSTypeReference",
86                          "part": {
87                            "type": "ETSTypeReferencePart",
88                            "name": {
89                              "type": "Identifier",
90                              "name": "T",
91                              "decorators": [],
92                              "loc": {
93                                "start": {
94                                  "line": 22,
95                                  "column": 32,
96                                  "program": "generics_implicit_lambda1.ets"
97                                },
98                                "end": {
99                                  "line": 22,
100                                  "column": 33,
101                                  "program": "generics_implicit_lambda1.ets"
102                                }
103                              }
104                            },
105                            "loc": {
106                              "start": {
107                                "line": 22,
108                                "column": 32,
109                                "program": "generics_implicit_lambda1.ets"
110                              },
111                              "end": {
112                                "line": 22,
113                                "column": 34,
114                                "program": "generics_implicit_lambda1.ets"
115                              }
116                            }
117                          },
118                          "loc": {
119                            "start": {
120                              "line": 22,
121                              "column": 32,
122                              "program": "generics_implicit_lambda1.ets"
123                            },
124                            "end": {
125                              "line": 22,
126                              "column": 34,
127                              "program": "generics_implicit_lambda1.ets"
128                            }
129                          }
130                        },
131                        "loc": {
132                          "start": {
133                            "line": 22,
134                            "column": 26,
135                            "program": "generics_implicit_lambda1.ets"
136                          },
137                          "end": {
138                            "line": 22,
139                            "column": 34,
140                            "program": "generics_implicit_lambda1.ets"
141                          }
142                        }
143                      },
144                      "decorators": [],
145                      "loc": {
146                        "start": {
147                          "line": 22,
148                          "column": 19,
149                          "program": "generics_implicit_lambda1.ets"
150                        },
151                        "end": {
152                          "line": 22,
153                          "column": 34,
154                          "program": "generics_implicit_lambda1.ets"
155                        }
156                      }
157                    },
158                    "loc": {
159                      "start": {
160                        "line": 22,
161                        "column": 19,
162                        "program": "generics_implicit_lambda1.ets"
163                      },
164                      "end": {
165                        "line": 22,
166                        "column": 34,
167                        "program": "generics_implicit_lambda1.ets"
168                      }
169                    }
170                  },
171                  {
172                    "type": "ETSParameterExpression",
173                    "name": {
174                      "type": "Identifier",
175                      "name": "second",
176                      "typeAnnotation": {
177                        "type": "ETSFunctionType",
178                        "params": [],
179                        "returnType": {
180                          "type": "ETSPrimitiveType",
181                          "loc": {
182                            "start": {
183                              "line": 22,
184                              "column": 49,
185                              "program": "generics_implicit_lambda1.ets"
186                            },
187                            "end": {
188                              "line": 22,
189                              "column": 53,
190                              "program": "generics_implicit_lambda1.ets"
191                            }
192                          }
193                        },
194                        "loc": {
195                          "start": {
196                            "line": 22,
197                            "column": 43,
198                            "program": "generics_implicit_lambda1.ets"
199                          },
200                          "end": {
201                            "line": 22,
202                            "column": 53,
203                            "program": "generics_implicit_lambda1.ets"
204                          }
205                        }
206                      },
207                      "decorators": [],
208                      "loc": {
209                        "start": {
210                          "line": 22,
211                          "column": 35,
212                          "program": "generics_implicit_lambda1.ets"
213                        },
214                        "end": {
215                          "line": 22,
216                          "column": 53,
217                          "program": "generics_implicit_lambda1.ets"
218                        }
219                      }
220                    },
221                    "loc": {
222                      "start": {
223                        "line": 22,
224                        "column": 35,
225                        "program": "generics_implicit_lambda1.ets"
226                      },
227                      "end": {
228                        "line": 22,
229                        "column": 53,
230                        "program": "generics_implicit_lambda1.ets"
231                      }
232                    }
233                  }
234                ],
235                "returnType": {
236                  "type": "ETSTypeReference",
237                  "part": {
238                    "type": "ETSTypeReferencePart",
239                    "name": {
240                      "type": "Identifier",
241                      "name": "T",
242                      "decorators": [],
243                      "loc": {
244                        "start": {
245                          "line": 22,
246                          "column": 56,
247                          "program": "generics_implicit_lambda1.ets"
248                        },
249                        "end": {
250                          "line": 22,
251                          "column": 57,
252                          "program": "generics_implicit_lambda1.ets"
253                        }
254                      }
255                    },
256                    "loc": {
257                      "start": {
258                        "line": 22,
259                        "column": 56,
260                        "program": "generics_implicit_lambda1.ets"
261                      },
262                      "end": {
263                        "line": 22,
264                        "column": 59,
265                        "program": "generics_implicit_lambda1.ets"
266                      }
267                    }
268                  },
269                  "loc": {
270                    "start": {
271                      "line": 22,
272                      "column": 56,
273                      "program": "generics_implicit_lambda1.ets"
274                    },
275                    "end": {
276                      "line": 22,
277                      "column": 59,
278                      "program": "generics_implicit_lambda1.ets"
279                    }
280                  }
281                },
282                "typeParameters": {
283                  "type": "TSTypeParameterDeclaration",
284                  "params": [
285                    {
286                      "type": "TSTypeParameter",
287                      "name": {
288                        "type": "Identifier",
289                        "name": "T",
290                        "decorators": [],
291                        "loc": {
292                          "start": {
293                            "line": 22,
294                            "column": 16,
295                            "program": "generics_implicit_lambda1.ets"
296                          },
297                          "end": {
298                            "line": 22,
299                            "column": 17,
300                            "program": "generics_implicit_lambda1.ets"
301                          }
302                        }
303                      },
304                      "loc": {
305                        "start": {
306                          "line": 22,
307                          "column": 16,
308                          "program": "generics_implicit_lambda1.ets"
309                        },
310                        "end": {
311                          "line": 22,
312                          "column": 18,
313                          "program": "generics_implicit_lambda1.ets"
314                        }
315                      }
316                    }
317                  ],
318                  "loc": {
319                    "start": {
320                      "line": 22,
321                      "column": 15,
322                      "program": "generics_implicit_lambda1.ets"
323                    },
324                    "end": {
325                      "line": 22,
326                      "column": 18,
327                      "program": "generics_implicit_lambda1.ets"
328                    }
329                  }
330                },
331                "body": {
332                  "type": "BlockStatement",
333                  "statements": [
334                    {
335                      "type": "VariableDeclaration",
336                      "declarations": [
337                        {
338                          "type": "VariableDeclarator",
339                          "id": {
340                            "type": "Identifier",
341                            "name": "instance",
342                            "decorators": [],
343                            "loc": {
344                              "start": {
345                                "line": 23,
346                                "column": 15,
347                                "program": "generics_implicit_lambda1.ets"
348                              },
349                              "end": {
350                                "line": 23,
351                                "column": 23,
352                                "program": "generics_implicit_lambda1.ets"
353                              }
354                            }
355                          },
356                          "init": {
357                            "type": "CallExpression",
358                            "callee": {
359                              "type": "Identifier",
360                              "name": "first",
361                              "decorators": [],
362                              "loc": {
363                                "start": {
364                                  "line": 23,
365                                  "column": 26,
366                                  "program": "generics_implicit_lambda1.ets"
367                                },
368                                "end": {
369                                  "line": 23,
370                                  "column": 31,
371                                  "program": "generics_implicit_lambda1.ets"
372                                }
373                              }
374                            },
375                            "arguments": [],
376                            "optional": false,
377                            "loc": {
378                              "start": {
379                                "line": 23,
380                                "column": 26,
381                                "program": "generics_implicit_lambda1.ets"
382                              },
383                              "end": {
384                                "line": 23,
385                                "column": 33,
386                                "program": "generics_implicit_lambda1.ets"
387                              }
388                            }
389                          },
390                          "loc": {
391                            "start": {
392                              "line": 23,
393                              "column": 15,
394                              "program": "generics_implicit_lambda1.ets"
395                            },
396                            "end": {
397                              "line": 23,
398                              "column": 33,
399                              "program": "generics_implicit_lambda1.ets"
400                            }
401                          }
402                        }
403                      ],
404                      "kind": "const",
405                      "loc": {
406                        "start": {
407                          "line": 23,
408                          "column": 9,
409                          "program": "generics_implicit_lambda1.ets"
410                        },
411                        "end": {
412                          "line": 23,
413                          "column": 33,
414                          "program": "generics_implicit_lambda1.ets"
415                        }
416                      }
417                    },
418                    {
419                      "type": "ExpressionStatement",
420                      "expression": {
421                        "type": "CallExpression",
422                        "callee": {
423                          "type": "Identifier",
424                          "name": "second",
425                          "decorators": [],
426                          "loc": {
427                            "start": {
428                              "line": 24,
429                              "column": 9,
430                              "program": "generics_implicit_lambda1.ets"
431                            },
432                            "end": {
433                              "line": 24,
434                              "column": 15,
435                              "program": "generics_implicit_lambda1.ets"
436                            }
437                          }
438                        },
439                        "arguments": [],
440                        "optional": false,
441                        "loc": {
442                          "start": {
443                            "line": 24,
444                            "column": 9,
445                            "program": "generics_implicit_lambda1.ets"
446                          },
447                          "end": {
448                            "line": 24,
449                            "column": 17,
450                            "program": "generics_implicit_lambda1.ets"
451                          }
452                        }
453                      },
454                      "loc": {
455                        "start": {
456                          "line": 24,
457                          "column": 9,
458                          "program": "generics_implicit_lambda1.ets"
459                        },
460                        "end": {
461                          "line": 24,
462                          "column": 17,
463                          "program": "generics_implicit_lambda1.ets"
464                        }
465                      }
466                    },
467                    {
468                      "type": "ReturnStatement",
469                      "argument": {
470                        "type": "Identifier",
471                        "name": "instance",
472                        "decorators": [],
473                        "loc": {
474                          "start": {
475                            "line": 25,
476                            "column": 16,
477                            "program": "generics_implicit_lambda1.ets"
478                          },
479                          "end": {
480                            "line": 25,
481                            "column": 24,
482                            "program": "generics_implicit_lambda1.ets"
483                          }
484                        }
485                      },
486                      "loc": {
487                        "start": {
488                          "line": 25,
489                          "column": 9,
490                          "program": "generics_implicit_lambda1.ets"
491                        },
492                        "end": {
493                          "line": 25,
494                          "column": 24,
495                          "program": "generics_implicit_lambda1.ets"
496                        }
497                      }
498                    }
499                  ],
500                  "loc": {
501                    "start": {
502                      "line": 22,
503                      "column": 58,
504                      "program": "generics_implicit_lambda1.ets"
505                    },
506                    "end": {
507                      "line": 26,
508                      "column": 6,
509                      "program": "generics_implicit_lambda1.ets"
510                    }
511                  }
512                },
513                "loc": {
514                  "start": {
515                    "line": 22,
516                    "column": 15,
517                    "program": "generics_implicit_lambda1.ets"
518                  },
519                  "end": {
520                    "line": 26,
521                    "column": 6,
522                    "program": "generics_implicit_lambda1.ets"
523                  }
524                }
525              },
526              "loc": {
527                "start": {
528                  "line": 22,
529                  "column": 15,
530                  "program": "generics_implicit_lambda1.ets"
531                },
532                "end": {
533                  "line": 26,
534                  "column": 6,
535                  "program": "generics_implicit_lambda1.ets"
536                }
537              }
538            },
539            "overloads": [],
540            "decorators": [],
541            "loc": {
542              "start": {
543                "line": 22,
544                "column": 5,
545                "program": "generics_implicit_lambda1.ets"
546              },
547              "end": {
548                "line": 26,
549                "column": 6,
550                "program": "generics_implicit_lambda1.ets"
551              }
552            }
553          },
554          {
555            "type": "MethodDefinition",
556            "key": {
557              "type": "Identifier",
558              "name": "$_invoke",
559              "decorators": [],
560              "loc": {
561                "start": {
562                  "line": 28,
563                  "column": 12,
564                  "program": "generics_implicit_lambda1.ets"
565                },
566                "end": {
567                  "line": 28,
568                  "column": 20,
569                  "program": "generics_implicit_lambda1.ets"
570                }
571              }
572            },
573            "kind": "method",
574            "accessibility": "public",
575            "static": true,
576            "optional": false,
577            "computed": false,
578            "value": {
579              "type": "FunctionExpression",
580              "function": {
581                "type": "ScriptFunction",
582                "id": {
583                  "type": "Identifier",
584                  "name": "$_invoke",
585                  "decorators": [],
586                  "loc": {
587                    "start": {
588                      "line": 28,
589                      "column": 12,
590                      "program": "generics_implicit_lambda1.ets"
591                    },
592                    "end": {
593                      "line": 28,
594                      "column": 20,
595                      "program": "generics_implicit_lambda1.ets"
596                    }
597                  }
598                },
599                "generator": false,
600                "async": false,
601                "expression": false,
602                "params": [
603                  {
604                    "type": "ETSParameterExpression",
605                    "name": {
606                      "type": "Identifier",
607                      "name": "first",
608                      "typeAnnotation": {
609                        "type": "ETSFunctionType",
610                        "params": [],
611                        "returnType": {
612                          "type": "ETSTypeReference",
613                          "part": {
614                            "type": "ETSTypeReferencePart",
615                            "name": {
616                              "type": "Identifier",
617                              "name": "T",
618                              "decorators": [],
619                              "loc": {
620                                "start": {
621                                  "line": 28,
622                                  "column": 37,
623                                  "program": "generics_implicit_lambda1.ets"
624                                },
625                                "end": {
626                                  "line": 28,
627                                  "column": 38,
628                                  "program": "generics_implicit_lambda1.ets"
629                                }
630                              }
631                            },
632                            "loc": {
633                              "start": {
634                                "line": 28,
635                                "column": 37,
636                                "program": "generics_implicit_lambda1.ets"
637                              },
638                              "end": {
639                                "line": 28,
640                                "column": 39,
641                                "program": "generics_implicit_lambda1.ets"
642                              }
643                            }
644                          },
645                          "loc": {
646                            "start": {
647                              "line": 28,
648                              "column": 37,
649                              "program": "generics_implicit_lambda1.ets"
650                            },
651                            "end": {
652                              "line": 28,
653                              "column": 39,
654                              "program": "generics_implicit_lambda1.ets"
655                            }
656                          }
657                        },
658                        "loc": {
659                          "start": {
660                            "line": 28,
661                            "column": 31,
662                            "program": "generics_implicit_lambda1.ets"
663                          },
664                          "end": {
665                            "line": 28,
666                            "column": 39,
667                            "program": "generics_implicit_lambda1.ets"
668                          }
669                        }
670                      },
671                      "decorators": [],
672                      "loc": {
673                        "start": {
674                          "line": 28,
675                          "column": 24,
676                          "program": "generics_implicit_lambda1.ets"
677                        },
678                        "end": {
679                          "line": 28,
680                          "column": 39,
681                          "program": "generics_implicit_lambda1.ets"
682                        }
683                      }
684                    },
685                    "loc": {
686                      "start": {
687                        "line": 28,
688                        "column": 24,
689                        "program": "generics_implicit_lambda1.ets"
690                      },
691                      "end": {
692                        "line": 28,
693                        "column": 39,
694                        "program": "generics_implicit_lambda1.ets"
695                      }
696                    }
697                  },
698                  {
699                    "type": "ETSParameterExpression",
700                    "name": {
701                      "type": "Identifier",
702                      "name": "second",
703                      "typeAnnotation": {
704                        "type": "ETSFunctionType",
705                        "params": [],
706                        "returnType": {
707                          "type": "ETSPrimitiveType",
708                          "loc": {
709                            "start": {
710                              "line": 28,
711                              "column": 54,
712                              "program": "generics_implicit_lambda1.ets"
713                            },
714                            "end": {
715                              "line": 28,
716                              "column": 58,
717                              "program": "generics_implicit_lambda1.ets"
718                            }
719                          }
720                        },
721                        "loc": {
722                          "start": {
723                            "line": 28,
724                            "column": 48,
725                            "program": "generics_implicit_lambda1.ets"
726                          },
727                          "end": {
728                            "line": 28,
729                            "column": 58,
730                            "program": "generics_implicit_lambda1.ets"
731                          }
732                        }
733                      },
734                      "decorators": [],
735                      "loc": {
736                        "start": {
737                          "line": 28,
738                          "column": 40,
739                          "program": "generics_implicit_lambda1.ets"
740                        },
741                        "end": {
742                          "line": 28,
743                          "column": 58,
744                          "program": "generics_implicit_lambda1.ets"
745                        }
746                      }
747                    },
748                    "loc": {
749                      "start": {
750                        "line": 28,
751                        "column": 40,
752                        "program": "generics_implicit_lambda1.ets"
753                      },
754                      "end": {
755                        "line": 28,
756                        "column": 58,
757                        "program": "generics_implicit_lambda1.ets"
758                      }
759                    }
760                  }
761                ],
762                "returnType": {
763                  "type": "ETSTypeReference",
764                  "part": {
765                    "type": "ETSTypeReferencePart",
766                    "name": {
767                      "type": "Identifier",
768                      "name": "T",
769                      "decorators": [],
770                      "loc": {
771                        "start": {
772                          "line": 28,
773                          "column": 61,
774                          "program": "generics_implicit_lambda1.ets"
775                        },
776                        "end": {
777                          "line": 28,
778                          "column": 62,
779                          "program": "generics_implicit_lambda1.ets"
780                        }
781                      }
782                    },
783                    "loc": {
784                      "start": {
785                        "line": 28,
786                        "column": 61,
787                        "program": "generics_implicit_lambda1.ets"
788                      },
789                      "end": {
790                        "line": 28,
791                        "column": 64,
792                        "program": "generics_implicit_lambda1.ets"
793                      }
794                    }
795                  },
796                  "loc": {
797                    "start": {
798                      "line": 28,
799                      "column": 61,
800                      "program": "generics_implicit_lambda1.ets"
801                    },
802                    "end": {
803                      "line": 28,
804                      "column": 64,
805                      "program": "generics_implicit_lambda1.ets"
806                    }
807                  }
808                },
809                "typeParameters": {
810                  "type": "TSTypeParameterDeclaration",
811                  "params": [
812                    {
813                      "type": "TSTypeParameter",
814                      "name": {
815                        "type": "Identifier",
816                        "name": "T",
817                        "decorators": [],
818                        "loc": {
819                          "start": {
820                            "line": 28,
821                            "column": 21,
822                            "program": "generics_implicit_lambda1.ets"
823                          },
824                          "end": {
825                            "line": 28,
826                            "column": 22,
827                            "program": "generics_implicit_lambda1.ets"
828                          }
829                        }
830                      },
831                      "loc": {
832                        "start": {
833                          "line": 28,
834                          "column": 21,
835                          "program": "generics_implicit_lambda1.ets"
836                        },
837                        "end": {
838                          "line": 28,
839                          "column": 23,
840                          "program": "generics_implicit_lambda1.ets"
841                        }
842                      }
843                    }
844                  ],
845                  "loc": {
846                    "start": {
847                      "line": 28,
848                      "column": 20,
849                      "program": "generics_implicit_lambda1.ets"
850                    },
851                    "end": {
852                      "line": 28,
853                      "column": 23,
854                      "program": "generics_implicit_lambda1.ets"
855                    }
856                  }
857                },
858                "body": {
859                  "type": "BlockStatement",
860                  "statements": [
861                    {
862                      "type": "VariableDeclaration",
863                      "declarations": [
864                        {
865                          "type": "VariableDeclarator",
866                          "id": {
867                            "type": "Identifier",
868                            "name": "instance",
869                            "decorators": [],
870                            "loc": {
871                              "start": {
872                                "line": 29,
873                                "column": 15,
874                                "program": "generics_implicit_lambda1.ets"
875                              },
876                              "end": {
877                                "line": 29,
878                                "column": 23,
879                                "program": "generics_implicit_lambda1.ets"
880                              }
881                            }
882                          },
883                          "init": {
884                            "type": "CallExpression",
885                            "callee": {
886                              "type": "Identifier",
887                              "name": "first",
888                              "decorators": [],
889                              "loc": {
890                                "start": {
891                                  "line": 29,
892                                  "column": 26,
893                                  "program": "generics_implicit_lambda1.ets"
894                                },
895                                "end": {
896                                  "line": 29,
897                                  "column": 31,
898                                  "program": "generics_implicit_lambda1.ets"
899                                }
900                              }
901                            },
902                            "arguments": [],
903                            "optional": false,
904                            "loc": {
905                              "start": {
906                                "line": 29,
907                                "column": 26,
908                                "program": "generics_implicit_lambda1.ets"
909                              },
910                              "end": {
911                                "line": 29,
912                                "column": 33,
913                                "program": "generics_implicit_lambda1.ets"
914                              }
915                            }
916                          },
917                          "loc": {
918                            "start": {
919                              "line": 29,
920                              "column": 15,
921                              "program": "generics_implicit_lambda1.ets"
922                            },
923                            "end": {
924                              "line": 29,
925                              "column": 33,
926                              "program": "generics_implicit_lambda1.ets"
927                            }
928                          }
929                        }
930                      ],
931                      "kind": "const",
932                      "loc": {
933                        "start": {
934                          "line": 29,
935                          "column": 9,
936                          "program": "generics_implicit_lambda1.ets"
937                        },
938                        "end": {
939                          "line": 29,
940                          "column": 33,
941                          "program": "generics_implicit_lambda1.ets"
942                        }
943                      }
944                    },
945                    {
946                      "type": "ExpressionStatement",
947                      "expression": {
948                        "type": "CallExpression",
949                        "callee": {
950                          "type": "Identifier",
951                          "name": "second",
952                          "decorators": [],
953                          "loc": {
954                            "start": {
955                              "line": 30,
956                              "column": 9,
957                              "program": "generics_implicit_lambda1.ets"
958                            },
959                            "end": {
960                              "line": 30,
961                              "column": 15,
962                              "program": "generics_implicit_lambda1.ets"
963                            }
964                          }
965                        },
966                        "arguments": [],
967                        "optional": false,
968                        "loc": {
969                          "start": {
970                            "line": 30,
971                            "column": 9,
972                            "program": "generics_implicit_lambda1.ets"
973                          },
974                          "end": {
975                            "line": 30,
976                            "column": 17,
977                            "program": "generics_implicit_lambda1.ets"
978                          }
979                        }
980                      },
981                      "loc": {
982                        "start": {
983                          "line": 30,
984                          "column": 9,
985                          "program": "generics_implicit_lambda1.ets"
986                        },
987                        "end": {
988                          "line": 30,
989                          "column": 17,
990                          "program": "generics_implicit_lambda1.ets"
991                        }
992                      }
993                    },
994                    {
995                      "type": "ReturnStatement",
996                      "argument": {
997                        "type": "Identifier",
998                        "name": "instance",
999                        "decorators": [],
1000                        "loc": {
1001                          "start": {
1002                            "line": 31,
1003                            "column": 16,
1004                            "program": "generics_implicit_lambda1.ets"
1005                          },
1006                          "end": {
1007                            "line": 31,
1008                            "column": 24,
1009                            "program": "generics_implicit_lambda1.ets"
1010                          }
1011                        }
1012                      },
1013                      "loc": {
1014                        "start": {
1015                          "line": 31,
1016                          "column": 9,
1017                          "program": "generics_implicit_lambda1.ets"
1018                        },
1019                        "end": {
1020                          "line": 31,
1021                          "column": 24,
1022                          "program": "generics_implicit_lambda1.ets"
1023                        }
1024                      }
1025                    }
1026                  ],
1027                  "loc": {
1028                    "start": {
1029                      "line": 28,
1030                      "column": 63,
1031                      "program": "generics_implicit_lambda1.ets"
1032                    },
1033                    "end": {
1034                      "line": 32,
1035                      "column": 6,
1036                      "program": "generics_implicit_lambda1.ets"
1037                    }
1038                  }
1039                },
1040                "loc": {
1041                  "start": {
1042                    "line": 28,
1043                    "column": 20,
1044                    "program": "generics_implicit_lambda1.ets"
1045                  },
1046                  "end": {
1047                    "line": 32,
1048                    "column": 6,
1049                    "program": "generics_implicit_lambda1.ets"
1050                  }
1051                }
1052              },
1053              "loc": {
1054                "start": {
1055                  "line": 28,
1056                  "column": 20,
1057                  "program": "generics_implicit_lambda1.ets"
1058                },
1059                "end": {
1060                  "line": 32,
1061                  "column": 6,
1062                  "program": "generics_implicit_lambda1.ets"
1063                }
1064              }
1065            },
1066            "overloads": [],
1067            "decorators": [],
1068            "loc": {
1069              "start": {
1070                "line": 28,
1071                "column": 5,
1072                "program": "generics_implicit_lambda1.ets"
1073              },
1074              "end": {
1075                "line": 32,
1076                "column": 6,
1077                "program": "generics_implicit_lambda1.ets"
1078              }
1079            }
1080          },
1081          {
1082            "type": "MethodDefinition",
1083            "key": {
1084              "type": "Identifier",
1085              "name": "constructor",
1086              "decorators": [],
1087              "loc": {
1088                "start": {
1089                  "line": 21,
1090                  "column": 10,
1091                  "program": "generics_implicit_lambda1.ets"
1092                },
1093                "end": {
1094                  "line": 21,
1095                  "column": 10,
1096                  "program": "generics_implicit_lambda1.ets"
1097                }
1098              }
1099            },
1100            "kind": "constructor",
1101            "static": false,
1102            "optional": false,
1103            "computed": false,
1104            "value": {
1105              "type": "FunctionExpression",
1106              "function": {
1107                "type": "ScriptFunction",
1108                "id": {
1109                  "type": "Identifier",
1110                  "name": "constructor",
1111                  "decorators": [],
1112                  "loc": {
1113                    "start": {
1114                      "line": 21,
1115                      "column": 10,
1116                      "program": "generics_implicit_lambda1.ets"
1117                    },
1118                    "end": {
1119                      "line": 21,
1120                      "column": 10,
1121                      "program": "generics_implicit_lambda1.ets"
1122                    }
1123                  }
1124                },
1125                "generator": false,
1126                "async": false,
1127                "expression": false,
1128                "params": [],
1129                "body": {
1130                  "type": "BlockStatement",
1131                  "statements": [],
1132                  "loc": {
1133                    "start": {
1134                      "line": 21,
1135                      "column": 10,
1136                      "program": "generics_implicit_lambda1.ets"
1137                    },
1138                    "end": {
1139                      "line": 21,
1140                      "column": 10,
1141                      "program": "generics_implicit_lambda1.ets"
1142                    }
1143                  }
1144                },
1145                "loc": {
1146                  "start": {
1147                    "line": 21,
1148                    "column": 10,
1149                    "program": "generics_implicit_lambda1.ets"
1150                  },
1151                  "end": {
1152                    "line": 21,
1153                    "column": 10,
1154                    "program": "generics_implicit_lambda1.ets"
1155                  }
1156                }
1157              },
1158              "loc": {
1159                "start": {
1160                  "line": 21,
1161                  "column": 10,
1162                  "program": "generics_implicit_lambda1.ets"
1163                },
1164                "end": {
1165                  "line": 21,
1166                  "column": 10,
1167                  "program": "generics_implicit_lambda1.ets"
1168                }
1169              }
1170            },
1171            "overloads": [],
1172            "decorators": [],
1173            "loc": {
1174              "start": {
1175                "line": 1,
1176                "column": 1,
1177                "program": null
1178              },
1179              "end": {
1180                "line": 1,
1181                "column": 1,
1182                "program": null
1183              }
1184            }
1185          }
1186        ],
1187        "loc": {
1188          "start": {
1189            "line": 21,
1190            "column": 9,
1191            "program": "generics_implicit_lambda1.ets"
1192          },
1193          "end": {
1194            "line": 35,
1195            "column": 9,
1196            "program": "generics_implicit_lambda1.ets"
1197          }
1198        }
1199      },
1200      "loc": {
1201        "start": {
1202          "line": 21,
1203          "column": 1,
1204          "program": "generics_implicit_lambda1.ets"
1205        },
1206        "end": {
1207          "line": 35,
1208          "column": 9,
1209          "program": "generics_implicit_lambda1.ets"
1210        }
1211      }
1212    },
1213    {
1214      "type": "ClassDeclaration",
1215      "definition": {
1216        "id": {
1217          "type": "Identifier",
1218          "name": "ETSGLOBAL",
1219          "decorators": [],
1220          "loc": {
1221            "start": {
1222              "line": 1,
1223              "column": 1,
1224              "program": "generics_implicit_lambda1.ets"
1225            },
1226            "end": {
1227              "line": 1,
1228              "column": 1,
1229              "program": "generics_implicit_lambda1.ets"
1230            }
1231          }
1232        },
1233        "superClass": null,
1234        "implements": [],
1235        "body": [
1236          {
1237            "type": "MethodDefinition",
1238            "key": {
1239              "type": "Identifier",
1240              "name": "_$init$_",
1241              "decorators": [],
1242              "loc": {
1243                "start": {
1244                  "line": 1,
1245                  "column": 1,
1246                  "program": null
1247                },
1248                "end": {
1249                  "line": 1,
1250                  "column": 1,
1251                  "program": null
1252                }
1253              }
1254            },
1255            "kind": "method",
1256            "accessibility": "public",
1257            "static": true,
1258            "optional": false,
1259            "computed": false,
1260            "value": {
1261              "type": "FunctionExpression",
1262              "function": {
1263                "type": "ScriptFunction",
1264                "id": {
1265                  "type": "Identifier",
1266                  "name": "_$init$_",
1267                  "decorators": [],
1268                  "loc": {
1269                    "start": {
1270                      "line": 1,
1271                      "column": 1,
1272                      "program": null
1273                    },
1274                    "end": {
1275                      "line": 1,
1276                      "column": 1,
1277                      "program": null
1278                    }
1279                  }
1280                },
1281                "generator": false,
1282                "async": false,
1283                "expression": false,
1284                "params": [],
1285                "body": {
1286                  "type": "BlockStatement",
1287                  "statements": [],
1288                  "loc": {
1289                    "start": {
1290                      "line": 1,
1291                      "column": 1,
1292                      "program": null
1293                    },
1294                    "end": {
1295                      "line": 1,
1296                      "column": 1,
1297                      "program": null
1298                    }
1299                  }
1300                },
1301                "loc": {
1302                  "start": {
1303                    "line": 1,
1304                    "column": 1,
1305                    "program": null
1306                  },
1307                  "end": {
1308                    "line": 1,
1309                    "column": 1,
1310                    "program": null
1311                  }
1312                }
1313              },
1314              "loc": {
1315                "start": {
1316                  "line": 1,
1317                  "column": 1,
1318                  "program": null
1319                },
1320                "end": {
1321                  "line": 1,
1322                  "column": 1,
1323                  "program": null
1324                }
1325              }
1326            },
1327            "overloads": [],
1328            "decorators": [],
1329            "loc": {
1330              "start": {
1331                "line": 1,
1332                "column": 1,
1333                "program": "generics_implicit_lambda1.ets"
1334              },
1335              "end": {
1336                "line": 1,
1337                "column": 1,
1338                "program": "generics_implicit_lambda1.ets"
1339              }
1340            }
1341          },
1342          {
1343            "type": "MethodDefinition",
1344            "key": {
1345              "type": "Identifier",
1346              "name": "foo",
1347              "decorators": [],
1348              "loc": {
1349                "start": {
1350                  "line": 16,
1351                  "column": 10,
1352                  "program": "generics_implicit_lambda1.ets"
1353                },
1354                "end": {
1355                  "line": 16,
1356                  "column": 13,
1357                  "program": "generics_implicit_lambda1.ets"
1358                }
1359              }
1360            },
1361            "kind": "method",
1362            "accessibility": "public",
1363            "static": true,
1364            "optional": false,
1365            "computed": false,
1366            "value": {
1367              "type": "FunctionExpression",
1368              "function": {
1369                "type": "ScriptFunction",
1370                "id": {
1371                  "type": "Identifier",
1372                  "name": "foo",
1373                  "decorators": [],
1374                  "loc": {
1375                    "start": {
1376                      "line": 16,
1377                      "column": 10,
1378                      "program": "generics_implicit_lambda1.ets"
1379                    },
1380                    "end": {
1381                      "line": 16,
1382                      "column": 13,
1383                      "program": "generics_implicit_lambda1.ets"
1384                    }
1385                  }
1386                },
1387                "generator": false,
1388                "async": false,
1389                "expression": false,
1390                "params": [
1391                  {
1392                    "type": "ETSParameterExpression",
1393                    "name": {
1394                      "type": "Identifier",
1395                      "name": "first",
1396                      "typeAnnotation": {
1397                        "type": "ETSFunctionType",
1398                        "params": [],
1399                        "returnType": {
1400                          "type": "ETSTypeReference",
1401                          "part": {
1402                            "type": "ETSTypeReferencePart",
1403                            "name": {
1404                              "type": "Identifier",
1405                              "name": "T",
1406                              "decorators": [],
1407                              "loc": {
1408                                "start": {
1409                                  "line": 16,
1410                                  "column": 30,
1411                                  "program": "generics_implicit_lambda1.ets"
1412                                },
1413                                "end": {
1414                                  "line": 16,
1415                                  "column": 31,
1416                                  "program": "generics_implicit_lambda1.ets"
1417                                }
1418                              }
1419                            },
1420                            "loc": {
1421                              "start": {
1422                                "line": 16,
1423                                "column": 30,
1424                                "program": "generics_implicit_lambda1.ets"
1425                              },
1426                              "end": {
1427                                "line": 16,
1428                                "column": 32,
1429                                "program": "generics_implicit_lambda1.ets"
1430                              }
1431                            }
1432                          },
1433                          "loc": {
1434                            "start": {
1435                              "line": 16,
1436                              "column": 30,
1437                              "program": "generics_implicit_lambda1.ets"
1438                            },
1439                            "end": {
1440                              "line": 16,
1441                              "column": 32,
1442                              "program": "generics_implicit_lambda1.ets"
1443                            }
1444                          }
1445                        },
1446                        "loc": {
1447                          "start": {
1448                            "line": 16,
1449                            "column": 24,
1450                            "program": "generics_implicit_lambda1.ets"
1451                          },
1452                          "end": {
1453                            "line": 16,
1454                            "column": 32,
1455                            "program": "generics_implicit_lambda1.ets"
1456                          }
1457                        }
1458                      },
1459                      "decorators": [],
1460                      "loc": {
1461                        "start": {
1462                          "line": 16,
1463                          "column": 17,
1464                          "program": "generics_implicit_lambda1.ets"
1465                        },
1466                        "end": {
1467                          "line": 16,
1468                          "column": 32,
1469                          "program": "generics_implicit_lambda1.ets"
1470                        }
1471                      }
1472                    },
1473                    "loc": {
1474                      "start": {
1475                        "line": 16,
1476                        "column": 17,
1477                        "program": "generics_implicit_lambda1.ets"
1478                      },
1479                      "end": {
1480                        "line": 16,
1481                        "column": 32,
1482                        "program": "generics_implicit_lambda1.ets"
1483                      }
1484                    }
1485                  }
1486                ],
1487                "returnType": {
1488                  "type": "ETSTypeReference",
1489                  "part": {
1490                    "type": "ETSTypeReferencePart",
1491                    "name": {
1492                      "type": "Identifier",
1493                      "name": "T",
1494                      "decorators": [],
1495                      "loc": {
1496                        "start": {
1497                          "line": 16,
1498                          "column": 34,
1499                          "program": "generics_implicit_lambda1.ets"
1500                        },
1501                        "end": {
1502                          "line": 16,
1503                          "column": 35,
1504                          "program": "generics_implicit_lambda1.ets"
1505                        }
1506                      }
1507                    },
1508                    "loc": {
1509                      "start": {
1510                        "line": 16,
1511                        "column": 34,
1512                        "program": "generics_implicit_lambda1.ets"
1513                      },
1514                      "end": {
1515                        "line": 16,
1516                        "column": 37,
1517                        "program": "generics_implicit_lambda1.ets"
1518                      }
1519                    }
1520                  },
1521                  "loc": {
1522                    "start": {
1523                      "line": 16,
1524                      "column": 34,
1525                      "program": "generics_implicit_lambda1.ets"
1526                    },
1527                    "end": {
1528                      "line": 16,
1529                      "column": 37,
1530                      "program": "generics_implicit_lambda1.ets"
1531                    }
1532                  }
1533                },
1534                "typeParameters": {
1535                  "type": "TSTypeParameterDeclaration",
1536                  "params": [
1537                    {
1538                      "type": "TSTypeParameter",
1539                      "name": {
1540                        "type": "Identifier",
1541                        "name": "T",
1542                        "decorators": [],
1543                        "loc": {
1544                          "start": {
1545                            "line": 16,
1546                            "column": 14,
1547                            "program": "generics_implicit_lambda1.ets"
1548                          },
1549                          "end": {
1550                            "line": 16,
1551                            "column": 15,
1552                            "program": "generics_implicit_lambda1.ets"
1553                          }
1554                        }
1555                      },
1556                      "loc": {
1557                        "start": {
1558                          "line": 16,
1559                          "column": 14,
1560                          "program": "generics_implicit_lambda1.ets"
1561                        },
1562                        "end": {
1563                          "line": 16,
1564                          "column": 16,
1565                          "program": "generics_implicit_lambda1.ets"
1566                        }
1567                      }
1568                    }
1569                  ],
1570                  "loc": {
1571                    "start": {
1572                      "line": 16,
1573                      "column": 13,
1574                      "program": "generics_implicit_lambda1.ets"
1575                    },
1576                    "end": {
1577                      "line": 16,
1578                      "column": 16,
1579                      "program": "generics_implicit_lambda1.ets"
1580                    }
1581                  }
1582                },
1583                "body": {
1584                  "type": "BlockStatement",
1585                  "statements": [
1586                    {
1587                      "type": "VariableDeclaration",
1588                      "declarations": [
1589                        {
1590                          "type": "VariableDeclarator",
1591                          "id": {
1592                            "type": "Identifier",
1593                            "name": "instance",
1594                            "decorators": [],
1595                            "loc": {
1596                              "start": {
1597                                "line": 17,
1598                                "column": 11,
1599                                "program": "generics_implicit_lambda1.ets"
1600                              },
1601                              "end": {
1602                                "line": 17,
1603                                "column": 19,
1604                                "program": "generics_implicit_lambda1.ets"
1605                              }
1606                            }
1607                          },
1608                          "init": {
1609                            "type": "CallExpression",
1610                            "callee": {
1611                              "type": "Identifier",
1612                              "name": "first",
1613                              "decorators": [],
1614                              "loc": {
1615                                "start": {
1616                                  "line": 17,
1617                                  "column": 22,
1618                                  "program": "generics_implicit_lambda1.ets"
1619                                },
1620                                "end": {
1621                                  "line": 17,
1622                                  "column": 27,
1623                                  "program": "generics_implicit_lambda1.ets"
1624                                }
1625                              }
1626                            },
1627                            "arguments": [],
1628                            "optional": false,
1629                            "loc": {
1630                              "start": {
1631                                "line": 17,
1632                                "column": 22,
1633                                "program": "generics_implicit_lambda1.ets"
1634                              },
1635                              "end": {
1636                                "line": 17,
1637                                "column": 29,
1638                                "program": "generics_implicit_lambda1.ets"
1639                              }
1640                            }
1641                          },
1642                          "loc": {
1643                            "start": {
1644                              "line": 17,
1645                              "column": 11,
1646                              "program": "generics_implicit_lambda1.ets"
1647                            },
1648                            "end": {
1649                              "line": 17,
1650                              "column": 29,
1651                              "program": "generics_implicit_lambda1.ets"
1652                            }
1653                          }
1654                        }
1655                      ],
1656                      "kind": "const",
1657                      "loc": {
1658                        "start": {
1659                          "line": 17,
1660                          "column": 5,
1661                          "program": "generics_implicit_lambda1.ets"
1662                        },
1663                        "end": {
1664                          "line": 17,
1665                          "column": 29,
1666                          "program": "generics_implicit_lambda1.ets"
1667                        }
1668                      }
1669                    },
1670                    {
1671                      "type": "ReturnStatement",
1672                      "argument": {
1673                        "type": "Identifier",
1674                        "name": "instance",
1675                        "decorators": [],
1676                        "loc": {
1677                          "start": {
1678                            "line": 18,
1679                            "column": 12,
1680                            "program": "generics_implicit_lambda1.ets"
1681                          },
1682                          "end": {
1683                            "line": 18,
1684                            "column": 20,
1685                            "program": "generics_implicit_lambda1.ets"
1686                          }
1687                        }
1688                      },
1689                      "loc": {
1690                        "start": {
1691                          "line": 18,
1692                          "column": 5,
1693                          "program": "generics_implicit_lambda1.ets"
1694                        },
1695                        "end": {
1696                          "line": 18,
1697                          "column": 20,
1698                          "program": "generics_implicit_lambda1.ets"
1699                        }
1700                      }
1701                    }
1702                  ],
1703                  "loc": {
1704                    "start": {
1705                      "line": 16,
1706                      "column": 36,
1707                      "program": "generics_implicit_lambda1.ets"
1708                    },
1709                    "end": {
1710                      "line": 19,
1711                      "column": 2,
1712                      "program": "generics_implicit_lambda1.ets"
1713                    }
1714                  }
1715                },
1716                "loc": {
1717                  "start": {
1718                    "line": 16,
1719                    "column": 10,
1720                    "program": "generics_implicit_lambda1.ets"
1721                  },
1722                  "end": {
1723                    "line": 19,
1724                    "column": 2,
1725                    "program": "generics_implicit_lambda1.ets"
1726                  }
1727                }
1728              },
1729              "loc": {
1730                "start": {
1731                  "line": 16,
1732                  "column": 10,
1733                  "program": "generics_implicit_lambda1.ets"
1734                },
1735                "end": {
1736                  "line": 19,
1737                  "column": 2,
1738                  "program": "generics_implicit_lambda1.ets"
1739                }
1740              }
1741            },
1742            "overloads": [],
1743            "decorators": [],
1744            "loc": {
1745              "start": {
1746                "line": 16,
1747                "column": 1,
1748                "program": "generics_implicit_lambda1.ets"
1749              },
1750              "end": {
1751                "line": 19,
1752                "column": 2,
1753                "program": "generics_implicit_lambda1.ets"
1754              }
1755            }
1756          },
1757          {
1758            "type": "MethodDefinition",
1759            "key": {
1760              "type": "Identifier",
1761              "name": "main",
1762              "decorators": [],
1763              "loc": {
1764                "start": {
1765                  "line": 35,
1766                  "column": 10,
1767                  "program": "generics_implicit_lambda1.ets"
1768                },
1769                "end": {
1770                  "line": 35,
1771                  "column": 14,
1772                  "program": "generics_implicit_lambda1.ets"
1773                }
1774              }
1775            },
1776            "kind": "method",
1777            "accessibility": "public",
1778            "static": true,
1779            "optional": false,
1780            "computed": false,
1781            "value": {
1782              "type": "FunctionExpression",
1783              "function": {
1784                "type": "ScriptFunction",
1785                "id": {
1786                  "type": "Identifier",
1787                  "name": "main",
1788                  "decorators": [],
1789                  "loc": {
1790                    "start": {
1791                      "line": 35,
1792                      "column": 10,
1793                      "program": "generics_implicit_lambda1.ets"
1794                    },
1795                    "end": {
1796                      "line": 35,
1797                      "column": 14,
1798                      "program": "generics_implicit_lambda1.ets"
1799                    }
1800                  }
1801                },
1802                "generator": false,
1803                "async": false,
1804                "expression": false,
1805                "params": [],
1806                "body": {
1807                  "type": "BlockStatement",
1808                  "statements": [
1809                    {
1810                      "type": "ExpressionStatement",
1811                      "expression": {
1812                        "type": "CallExpression",
1813                        "callee": {
1814                          "type": "Identifier",
1815                          "name": "foo",
1816                          "decorators": [],
1817                          "loc": {
1818                            "start": {
1819                              "line": 36,
1820                              "column": 5,
1821                              "program": "generics_implicit_lambda1.ets"
1822                            },
1823                            "end": {
1824                              "line": 36,
1825                              "column": 8,
1826                              "program": "generics_implicit_lambda1.ets"
1827                            }
1828                          }
1829                        },
1830                        "arguments": [
1831                          {
1832                            "type": "ArrowFunctionExpression",
1833                            "function": {
1834                              "type": "ScriptFunction",
1835                              "id": null,
1836                              "generator": false,
1837                              "async": false,
1838                              "expression": false,
1839                              "params": [],
1840                              "returnType": {
1841                                "type": "ETSTypeReference",
1842                                "part": {
1843                                  "type": "ETSTypeReferencePart",
1844                                  "name": {
1845                                    "type": "Identifier",
1846                                    "name": "String",
1847                                    "decorators": [],
1848                                    "loc": {
1849                                      "start": {
1850                                        "line": 36,
1851                                        "column": 13,
1852                                        "program": "generics_implicit_lambda1.ets"
1853                                      },
1854                                      "end": {
1855                                        "line": 36,
1856                                        "column": 19,
1857                                        "program": "generics_implicit_lambda1.ets"
1858                                      }
1859                                    }
1860                                  },
1861                                  "loc": {
1862                                    "start": {
1863                                      "line": 36,
1864                                      "column": 13,
1865                                      "program": "generics_implicit_lambda1.ets"
1866                                    },
1867                                    "end": {
1868                                      "line": 36,
1869                                      "column": 22,
1870                                      "program": "generics_implicit_lambda1.ets"
1871                                    }
1872                                  }
1873                                },
1874                                "loc": {
1875                                  "start": {
1876                                    "line": 36,
1877                                    "column": 13,
1878                                    "program": "generics_implicit_lambda1.ets"
1879                                  },
1880                                  "end": {
1881                                    "line": 36,
1882                                    "column": 22,
1883                                    "program": "generics_implicit_lambda1.ets"
1884                                  }
1885                                }
1886                              },
1887                              "body": {
1888                                "type": "BlockStatement",
1889                                "statements": [
1890                                  {
1891                                    "type": "ReturnStatement",
1892                                    "argument": {
1893                                      "type": "StringLiteral",
1894                                      "value": "XXX",
1895                                      "loc": {
1896                                        "start": {
1897                                          "line": 36,
1898                                          "column": 32,
1899                                          "program": "generics_implicit_lambda1.ets"
1900                                        },
1901                                        "end": {
1902                                          "line": 36,
1903                                          "column": 37,
1904                                          "program": "generics_implicit_lambda1.ets"
1905                                        }
1906                                      }
1907                                    },
1908                                    "loc": {
1909                                      "start": {
1910                                        "line": 36,
1911                                        "column": 25,
1912                                        "program": "generics_implicit_lambda1.ets"
1913                                      },
1914                                      "end": {
1915                                        "line": 36,
1916                                        "column": 37,
1917                                        "program": "generics_implicit_lambda1.ets"
1918                                      }
1919                                    }
1920                                  }
1921                                ],
1922                                "loc": {
1923                                  "start": {
1924                                    "line": 36,
1925                                    "column": 23,
1926                                    "program": "generics_implicit_lambda1.ets"
1927                                  },
1928                                  "end": {
1929                                    "line": 36,
1930                                    "column": 39,
1931                                    "program": "generics_implicit_lambda1.ets"
1932                                  }
1933                                }
1934                              },
1935                              "loc": {
1936                                "start": {
1937                                  "line": 36,
1938                                  "column": 9,
1939                                  "program": "generics_implicit_lambda1.ets"
1940                                },
1941                                "end": {
1942                                  "line": 36,
1943                                  "column": 39,
1944                                  "program": "generics_implicit_lambda1.ets"
1945                                }
1946                              }
1947                            },
1948                            "loc": {
1949                              "start": {
1950                                "line": 36,
1951                                "column": 9,
1952                                "program": "generics_implicit_lambda1.ets"
1953                              },
1954                              "end": {
1955                                "line": 36,
1956                                "column": 39,
1957                                "program": "generics_implicit_lambda1.ets"
1958                              }
1959                            }
1960                          }
1961                        ],
1962                        "optional": false,
1963                        "loc": {
1964                          "start": {
1965                            "line": 36,
1966                            "column": 5,
1967                            "program": "generics_implicit_lambda1.ets"
1968                          },
1969                          "end": {
1970                            "line": 36,
1971                            "column": 40,
1972                            "program": "generics_implicit_lambda1.ets"
1973                          }
1974                        }
1975                      },
1976                      "loc": {
1977                        "start": {
1978                          "line": 36,
1979                          "column": 5,
1980                          "program": "generics_implicit_lambda1.ets"
1981                        },
1982                        "end": {
1983                          "line": 36,
1984                          "column": 41,
1985                          "program": "generics_implicit_lambda1.ets"
1986                        }
1987                      }
1988                    },
1989                    {
1990                      "type": "ExpressionStatement",
1991                      "expression": {
1992                        "type": "CallExpression",
1993                        "callee": {
1994                          "type": "Identifier",
1995                          "name": "foo",
1996                          "decorators": [],
1997                          "loc": {
1998                            "start": {
1999                              "line": 38,
2000                              "column": 5,
2001                              "program": "generics_implicit_lambda1.ets"
2002                            },
2003                            "end": {
2004                              "line": 38,
2005                              "column": 8,
2006                              "program": "generics_implicit_lambda1.ets"
2007                            }
2008                          }
2009                        },
2010                        "arguments": [
2011                          {
2012                            "type": "ArrowFunctionExpression",
2013                            "function": {
2014                              "type": "ScriptFunction",
2015                              "id": null,
2016                              "generator": false,
2017                              "async": false,
2018                              "expression": false,
2019                              "params": [],
2020                              "returnType": {
2021                                "type": "ETSTypeReference",
2022                                "part": {
2023                                  "type": "ETSTypeReferencePart",
2024                                  "name": {
2025                                    "type": "Identifier",
2026                                    "name": "Int",
2027                                    "decorators": [],
2028                                    "loc": {
2029                                      "start": {
2030                                        "line": 38,
2031                                        "column": 13,
2032                                        "program": "generics_implicit_lambda1.ets"
2033                                      },
2034                                      "end": {
2035                                        "line": 38,
2036                                        "column": 16,
2037                                        "program": "generics_implicit_lambda1.ets"
2038                                      }
2039                                    }
2040                                  },
2041                                  "loc": {
2042                                    "start": {
2043                                      "line": 38,
2044                                      "column": 13,
2045                                      "program": "generics_implicit_lambda1.ets"
2046                                    },
2047                                    "end": {
2048                                      "line": 38,
2049                                      "column": 19,
2050                                      "program": "generics_implicit_lambda1.ets"
2051                                    }
2052                                  }
2053                                },
2054                                "loc": {
2055                                  "start": {
2056                                    "line": 38,
2057                                    "column": 13,
2058                                    "program": "generics_implicit_lambda1.ets"
2059                                  },
2060                                  "end": {
2061                                    "line": 38,
2062                                    "column": 19,
2063                                    "program": "generics_implicit_lambda1.ets"
2064                                  }
2065                                }
2066                              },
2067                              "body": {
2068                                "type": "BlockStatement",
2069                                "statements": [
2070                                  {
2071                                    "type": "ReturnStatement",
2072                                    "argument": {
2073                                      "type": "ETSNewClassInstanceExpression",
2074                                      "typeReference": {
2075                                        "type": "ETSTypeReference",
2076                                        "part": {
2077                                          "type": "ETSTypeReferencePart",
2078                                          "name": {
2079                                            "type": "Identifier",
2080                                            "name": "Int",
2081                                            "decorators": [],
2082                                            "loc": {
2083                                              "start": {
2084                                                "line": 38,
2085                                                "column": 33,
2086                                                "program": "generics_implicit_lambda1.ets"
2087                                              },
2088                                              "end": {
2089                                                "line": 38,
2090                                                "column": 36,
2091                                                "program": "generics_implicit_lambda1.ets"
2092                                              }
2093                                            }
2094                                          },
2095                                          "loc": {
2096                                            "start": {
2097                                              "line": 38,
2098                                              "column": 33,
2099                                              "program": "generics_implicit_lambda1.ets"
2100                                            },
2101                                            "end": {
2102                                              "line": 38,
2103                                              "column": 37,
2104                                              "program": "generics_implicit_lambda1.ets"
2105                                            }
2106                                          }
2107                                        },
2108                                        "loc": {
2109                                          "start": {
2110                                            "line": 38,
2111                                            "column": 33,
2112                                            "program": "generics_implicit_lambda1.ets"
2113                                          },
2114                                          "end": {
2115                                            "line": 38,
2116                                            "column": 37,
2117                                            "program": "generics_implicit_lambda1.ets"
2118                                          }
2119                                        }
2120                                      },
2121                                      "arguments": [
2122                                        {
2123                                          "type": "NumberLiteral",
2124                                          "value": 42,
2125                                          "loc": {
2126                                            "start": {
2127                                              "line": 38,
2128                                              "column": 37,
2129                                              "program": "generics_implicit_lambda1.ets"
2130                                            },
2131                                            "end": {
2132                                              "line": 38,
2133                                              "column": 39,
2134                                              "program": "generics_implicit_lambda1.ets"
2135                                            }
2136                                          }
2137                                        }
2138                                      ],
2139                                      "loc": {
2140                                        "start": {
2141                                          "line": 38,
2142                                          "column": 29,
2143                                          "program": "generics_implicit_lambda1.ets"
2144                                        },
2145                                        "end": {
2146                                          "line": 38,
2147                                          "column": 42,
2148                                          "program": "generics_implicit_lambda1.ets"
2149                                        }
2150                                      }
2151                                    },
2152                                    "loc": {
2153                                      "start": {
2154                                        "line": 38,
2155                                        "column": 22,
2156                                        "program": "generics_implicit_lambda1.ets"
2157                                      },
2158                                      "end": {
2159                                        "line": 38,
2160                                        "column": 42,
2161                                        "program": "generics_implicit_lambda1.ets"
2162                                      }
2163                                    }
2164                                  }
2165                                ],
2166                                "loc": {
2167                                  "start": {
2168                                    "line": 38,
2169                                    "column": 20,
2170                                    "program": "generics_implicit_lambda1.ets"
2171                                  },
2172                                  "end": {
2173                                    "line": 38,
2174                                    "column": 42,
2175                                    "program": "generics_implicit_lambda1.ets"
2176                                  }
2177                                }
2178                              },
2179                              "loc": {
2180                                "start": {
2181                                  "line": 38,
2182                                  "column": 9,
2183                                  "program": "generics_implicit_lambda1.ets"
2184                                },
2185                                "end": {
2186                                  "line": 38,
2187                                  "column": 42,
2188                                  "program": "generics_implicit_lambda1.ets"
2189                                }
2190                              }
2191                            },
2192                            "loc": {
2193                              "start": {
2194                                "line": 38,
2195                                "column": 9,
2196                                "program": "generics_implicit_lambda1.ets"
2197                              },
2198                              "end": {
2199                                "line": 38,
2200                                "column": 42,
2201                                "program": "generics_implicit_lambda1.ets"
2202                              }
2203                            }
2204                          }
2205                        ],
2206                        "optional": false,
2207                        "loc": {
2208                          "start": {
2209                            "line": 38,
2210                            "column": 5,
2211                            "program": "generics_implicit_lambda1.ets"
2212                          },
2213                          "end": {
2214                            "line": 38,
2215                            "column": 43,
2216                            "program": "generics_implicit_lambda1.ets"
2217                          }
2218                        }
2219                      },
2220                      "loc": {
2221                        "start": {
2222                          "line": 38,
2223                          "column": 5,
2224                          "program": "generics_implicit_lambda1.ets"
2225                        },
2226                        "end": {
2227                          "line": 38,
2228                          "column": 44,
2229                          "program": "generics_implicit_lambda1.ets"
2230                        }
2231                      }
2232                    },
2233                    {
2234                      "type": "ExpressionStatement",
2235                      "expression": {
2236                        "type": "CallExpression",
2237                        "callee": {
2238                          "type": "Identifier",
2239                          "name": "X",
2240                          "decorators": [],
2241                          "loc": {
2242                            "start": {
2243                              "line": 40,
2244                              "column": 5,
2245                              "program": "generics_implicit_lambda1.ets"
2246                            },
2247                            "end": {
2248                              "line": 40,
2249                              "column": 6,
2250                              "program": "generics_implicit_lambda1.ets"
2251                            }
2252                          }
2253                        },
2254                        "arguments": [
2255                          {
2256                            "type": "ArrowFunctionExpression",
2257                            "function": {
2258                              "type": "ScriptFunction",
2259                              "id": null,
2260                              "generator": false,
2261                              "async": false,
2262                              "expression": false,
2263                              "params": [],
2264                              "returnType": {
2265                                "type": "ETSTypeReference",
2266                                "part": {
2267                                  "type": "ETSTypeReferencePart",
2268                                  "name": {
2269                                    "type": "Identifier",
2270                                    "name": "String",
2271                                    "decorators": [],
2272                                    "loc": {
2273                                      "start": {
2274                                        "line": 41,
2275                                        "column": 9,
2276                                        "program": "generics_implicit_lambda1.ets"
2277                                      },
2278                                      "end": {
2279                                        "line": 41,
2280                                        "column": 15,
2281                                        "program": "generics_implicit_lambda1.ets"
2282                                      }
2283                                    }
2284                                  },
2285                                  "loc": {
2286                                    "start": {
2287                                      "line": 41,
2288                                      "column": 9,
2289                                      "program": "generics_implicit_lambda1.ets"
2290                                    },
2291                                    "end": {
2292                                      "line": 41,
2293                                      "column": 18,
2294                                      "program": "generics_implicit_lambda1.ets"
2295                                    }
2296                                  }
2297                                },
2298                                "loc": {
2299                                  "start": {
2300                                    "line": 41,
2301                                    "column": 9,
2302                                    "program": "generics_implicit_lambda1.ets"
2303                                  },
2304                                  "end": {
2305                                    "line": 41,
2306                                    "column": 18,
2307                                    "program": "generics_implicit_lambda1.ets"
2308                                  }
2309                                }
2310                              },
2311                              "body": {
2312                                "type": "BlockStatement",
2313                                "statements": [
2314                                  {
2315                                    "type": "ReturnStatement",
2316                                    "argument": {
2317                                      "type": "StringLiteral",
2318                                      "value": "XXX",
2319                                      "loc": {
2320                                        "start": {
2321                                          "line": 41,
2322                                          "column": 28,
2323                                          "program": "generics_implicit_lambda1.ets"
2324                                        },
2325                                        "end": {
2326                                          "line": 41,
2327                                          "column": 33,
2328                                          "program": "generics_implicit_lambda1.ets"
2329                                        }
2330                                      }
2331                                    },
2332                                    "loc": {
2333                                      "start": {
2334                                        "line": 41,
2335                                        "column": 21,
2336                                        "program": "generics_implicit_lambda1.ets"
2337                                      },
2338                                      "end": {
2339                                        "line": 41,
2340                                        "column": 33,
2341                                        "program": "generics_implicit_lambda1.ets"
2342                                      }
2343                                    }
2344                                  }
2345                                ],
2346                                "loc": {
2347                                  "start": {
2348                                    "line": 41,
2349                                    "column": 19,
2350                                    "program": "generics_implicit_lambda1.ets"
2351                                  },
2352                                  "end": {
2353                                    "line": 41,
2354                                    "column": 35,
2355                                    "program": "generics_implicit_lambda1.ets"
2356                                  }
2357                                }
2358                              },
2359                              "loc": {
2360                                "start": {
2361                                  "line": 41,
2362                                  "column": 5,
2363                                  "program": "generics_implicit_lambda1.ets"
2364                                },
2365                                "end": {
2366                                  "line": 41,
2367                                  "column": 35,
2368                                  "program": "generics_implicit_lambda1.ets"
2369                                }
2370                              }
2371                            },
2372                            "loc": {
2373                              "start": {
2374                                "line": 41,
2375                                "column": 5,
2376                                "program": "generics_implicit_lambda1.ets"
2377                              },
2378                              "end": {
2379                                "line": 41,
2380                                "column": 35,
2381                                "program": "generics_implicit_lambda1.ets"
2382                              }
2383                            }
2384                          }
2385                        ],
2386                        "optional": false,
2387                        "loc": {
2388                          "start": {
2389                            "line": 40,
2390                            "column": 5,
2391                            "program": "generics_implicit_lambda1.ets"
2392                          },
2393                          "end": {
2394                            "line": 42,
2395                            "column": 6,
2396                            "program": "generics_implicit_lambda1.ets"
2397                          }
2398                        }
2399                      },
2400                      "loc": {
2401                        "start": {
2402                          "line": 40,
2403                          "column": 5,
2404                          "program": "generics_implicit_lambda1.ets"
2405                        },
2406                        "end": {
2407                          "line": 42,
2408                          "column": 6,
2409                          "program": "generics_implicit_lambda1.ets"
2410                        }
2411                      }
2412                    }
2413                  ],
2414                  "loc": {
2415                    "start": {
2416                      "line": 35,
2417                      "column": 17,
2418                      "program": "generics_implicit_lambda1.ets"
2419                    },
2420                    "end": {
2421                      "line": 44,
2422                      "column": 2,
2423                      "program": "generics_implicit_lambda1.ets"
2424                    }
2425                  }
2426                },
2427                "loc": {
2428                  "start": {
2429                    "line": 35,
2430                    "column": 10,
2431                    "program": "generics_implicit_lambda1.ets"
2432                  },
2433                  "end": {
2434                    "line": 44,
2435                    "column": 2,
2436                    "program": "generics_implicit_lambda1.ets"
2437                  }
2438                }
2439              },
2440              "loc": {
2441                "start": {
2442                  "line": 35,
2443                  "column": 10,
2444                  "program": "generics_implicit_lambda1.ets"
2445                },
2446                "end": {
2447                  "line": 44,
2448                  "column": 2,
2449                  "program": "generics_implicit_lambda1.ets"
2450                }
2451              }
2452            },
2453            "overloads": [],
2454            "decorators": [],
2455            "loc": {
2456              "start": {
2457                "line": 35,
2458                "column": 1,
2459                "program": "generics_implicit_lambda1.ets"
2460              },
2461              "end": {
2462                "line": 44,
2463                "column": 2,
2464                "program": "generics_implicit_lambda1.ets"
2465              }
2466            }
2467          }
2468        ],
2469        "loc": {
2470          "start": {
2471            "line": 1,
2472            "column": 1,
2473            "program": "generics_implicit_lambda1.ets"
2474          },
2475          "end": {
2476            "line": 1,
2477            "column": 1,
2478            "program": "generics_implicit_lambda1.ets"
2479          }
2480        }
2481      },
2482      "loc": {
2483        "start": {
2484          "line": 1,
2485          "column": 1,
2486          "program": "generics_implicit_lambda1.ets"
2487        },
2488        "end": {
2489          "line": 1,
2490          "column": 1,
2491          "program": "generics_implicit_lambda1.ets"
2492        }
2493      }
2494    }
2495  ],
2496  "loc": {
2497    "start": {
2498      "line": 1,
2499      "column": 1,
2500      "program": "generics_implicit_lambda1.ets"
2501    },
2502    "end": {
2503      "line": 44,
2504      "column": 2,
2505      "program": "generics_implicit_lambda1.ets"
2506    }
2507  }
2508}
2509