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 38 39 40 41 42 43 44 45 46 47 48
|
/// <reference path='fourslash.ts'/>
// Should not return references to parent interfaces even if the method is declared there
//// interface SuperFoo {
//// hello (): void;
//// }
////
//// interface Foo extends SuperFoo {
//// someOtherFunction(): void;
//// }
////
//// class Bar implements Foo {
//// [|hello|]() {}
//// someOtherFunction() {}
//// }
////
//// function createFoo(): Foo {
//// return {
//// [|hello|]() {},
//// someOtherFunction() {}
//// };
//// }
////
//// var y: Foo = {
//// [|hello|]() {},
//// someOtherFunction() {}
//// };
////
//// class FooLike implements SuperFoo {
//// hello() {}
//// someOtherFunction() {}
//// }
////
//// class NotRelatedToFoo {
//// hello() {} // This case is equivalent to the last case, but is not returned because it does not share a common ancestor with Foo
//// someOtherFunction() {}
//// }
////
//// class NotFoo implements SuperFoo {
//// hello() {} // We only want implementations of Foo, even though the function is declared in SuperFoo
//// }
////
//// function (x: Foo) {
//// x.he/*function_call*/llo()
//// }
verify.allRangesAppearInImplementationList("function_call");
|