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