-
Notifications
You must be signed in to change notification settings - Fork 12.9k
Open
Labels
BugA bug in TypeScriptA bug in TypeScript
Milestone
Description
From tests/cases/fourslash/goToImplementationInterfaceMethod_01.ts
interface BaseFoo {
hello(): void;
}
interface Foo extends BaseFoo {
foo(): void;
}
interface Bar {
hello(): void;
bar(): void;
}
class FooImpl implements Foo {
hello() { }
foo() { }
}
class FooBaseImpl implements FooBase {
hello() { } // missing this one!
}
class BarImpl implements Bar {
hello() { }
bar() { }
}
class FooBarImpl implements Foo, Bar {
hello() { }
foo() { }
bar() { }
}
let foorbar: Foo | Bar;
foorbar.hello/*1*/();
let foonbar: Foo & Bar;
foonbar.hello/*2*/();
Find all implementations on both 1 and 2 should find the hello method in all classes. But FooBaseImpl.hello
doesn't show up. The test incorrectly says that it should not, but it should.
Metadata
Metadata
Assignees
Labels
BugA bug in TypeScriptA bug in TypeScript