diff --git a/src/services/findAllReferences.ts b/src/services/findAllReferences.ts index 9fde734049c..2a3e4de87b1 100644 --- a/src/services/findAllReferences.ts +++ b/src/services/findAllReferences.ts @@ -143,7 +143,7 @@ namespace ts.FindAllReferences { function getDefinitionKindAndDisplayParts(symbol: Symbol, checker: TypeChecker, node: Node): { displayParts: SymbolDisplayPart[], kind: ScriptElementKind } { const meaning = Core.getIntersectingMeaningFromDeclarations(node, symbol); - const enclosingDeclaration = firstOrUndefined(symbol.declarations) || node; + const enclosingDeclaration = symbol.declarations && firstOrUndefined(symbol.declarations) || node; const { displayParts, symbolKind } = SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(checker, symbol, enclosingDeclaration.getSourceFile(), enclosingDeclaration, enclosingDeclaration, meaning); return { displayParts, kind: symbolKind }; diff --git a/tests/cases/fourslash/findAllRefsMappedType_nonHomomorphic.ts b/tests/cases/fourslash/findAllRefsMappedType_nonHomomorphic.ts new file mode 100644 index 00000000000..4dca721d614 --- /dev/null +++ b/tests/cases/fourslash/findAllRefsMappedType_nonHomomorphic.ts @@ -0,0 +1,10 @@ +/// + +// @strict: true + +////function f(x: { [K in "m"]: number; }) { +//// x.[|m|]; +//// x.[|m|] +////} + +verify.singleReferenceGroup("(property) m: number");