1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
/// <reference path='fourslash.ts'/>
// Should not return implementations in classes with a shared parent that implements the interface
//// interface Foo {
//// hello (): void;
//// }
////
//// class SuperBar implements Foo {
//// [|hello|]() {}
//// }
////
//// class Bar extends SuperBar {
//// hello2() {}
//// }
////
//// class OtherBar extends SuperBar {
//// hello() {}
//// hello2() {}
//// hello3() {}
//// }
////
//// class NotRelatedToBar {
//// hello() {} // Equivalent to last case, but shares no common ancestors with Bar and so is not returned
//// hello2() {}
//// hello3() {}
//// }
////
//// class NotBar extends SuperBar {
//// hello() {} // Should not be returned because it is not structurally equivalent to Bar
//// }
////
//// function whatever(x: Bar) {
//// x.he/*function_call*/llo()
//// }
verify.allRangesAppearInImplementationList("function_call");
|