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