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