Skip to content

Commit 25796f0

Browse files
author
Andy
authored
Merge pull request microsoft#15677 from Microsoft/find-all-refs-mapped-type
findAllReferences: Don't need to check for `symbol.declarations`
2 parents 888e264 + 73a9447 commit 25796f0

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed

src/services/findAllReferences.ts

-9
Original file line numberDiff line numberDiff line change
@@ -108,10 +108,6 @@ namespace ts.FindAllReferences {
108108
switch (def.type) {
109109
case "symbol": {
110110
const { symbol, node } = def;
111-
const declarations = symbol.declarations;
112-
if (!declarations || declarations.length === 0) {
113-
return undefined;
114-
}
115111
const { displayParts, kind } = getDefinitionKindAndDisplayParts(symbol, node, checker);
116112
const name = displayParts.map(p => p.text).join("");
117113
return { node, name, kind, displayParts };
@@ -285,11 +281,6 @@ namespace ts.FindAllReferences.Core {
285281
return undefined;
286282
}
287283

288-
// The symbol was an internal symbol and does not have a declaration e.g. undefined symbol
289-
if (!symbol.declarations || !symbol.declarations.length) {
290-
return undefined;
291-
}
292-
293284
return getReferencedSymbolsForSymbol(symbol, node, sourceFiles, checker, cancellationToken, options);
294285
}
295286

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/// <reference path='fourslash.ts'/>
2+
3+
////interface T { [|{| "isWriteAccess": true, "isDefinition": true |}a|]: number; }
4+
////type U = { readonly [K in keyof T]?: string };
5+
////declare const t: T;
6+
////t.[|a|];
7+
////declare const u: U;
8+
////u.[|a|];
9+
10+
const ranges = test.ranges();
11+
const [r0, r1, r2] = ranges;
12+
verify.referenceGroups([r0, r1], [{ definition: "(property) T.a: number", ranges }]);
13+
verify.referenceGroups(r2, [
14+
{ definition: "(property) T.a: number", ranges: [r0, r1] },
15+
{ definition: "(property) a: string", ranges: [r2] }]);

0 commit comments

Comments
 (0)