# Bug Report <!-- Please fill in each section completely. Thank you! --> ### 馃攷 Search Terms - references - find all references ### Problem We use the `references` request to power VS Code's references code lens feature. References returned by TS have an optional `isDefinition` property that tells if the reference is to a definition or not. We use this to avoid showing multiple references for a case such as: ```ts function foo(a: number): number; function foo(a: string): string; function foo(a: string | number): string | number; ``` The references code lens basically just filtered out any references that are marked `isDefinition` However this also prevents us from showing the correct reference count in cases such as: ```ts interface IFoo { foo(): void; } class Foo implements IFoo { foo(): void { } } ``` In this case, the two references to `foo` should have 1 reference, but we show 0 references because both references are definitions. https://github.com/microsoft/vscode/issues/117021 shows another case with object literal shortcut ### Proposal We'd like a new property on the references response that tells us if the reference belongs to definition from the requesting location (not yet sure what the name of this should be). For a case with overloads such as: ```ts function foo(a: number): number; function foo(a: string): string; function foo(a: string | number): string | number; ``` If we request references on any of the calls to `foo`, this new property would be marked true. However it would not be true in cases such as: ```ts export const foo = 123; console.log({ foo }); ``` or: ```ts interface IFoo { foo(): void; } class Foo implements IFoo { foo(): void { } } ```