From af075841c593e5021ac4292e439685a6606e4dbf Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Fri, 9 Jun 2023 23:48:36 +0300 Subject: [PATCH] fix(54580): Bad operation for find-all-references on import.meta when meta occurs in a comment (#54581) --- src/services/findAllReferences.ts | 5 +++- ...findAllReferencesImportMeta.baseline.jsonc | 25 +++++++++++++++++++ .../fourslash/findAllReferencesImportMeta.ts | 7 ++++++ 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/findAllReferencesImportMeta.baseline.jsonc create mode 100644 tests/cases/fourslash/findAllReferencesImportMeta.ts diff --git a/src/services/findAllReferences.ts b/src/services/findAllReferences.ts index b2325c6f772..e19d22cd509 100644 --- a/src/services/findAllReferences.ts +++ b/src/services/findAllReferences.ts @@ -1725,7 +1725,10 @@ export namespace Core { } function getPossibleSymbolReferenceNodes(sourceFile: SourceFile, symbolName: string, container: Node = sourceFile): readonly Node[] { - return getPossibleSymbolReferencePositions(sourceFile, symbolName, container).map(pos => getTouchingPropertyName(sourceFile, pos)); + return mapDefined(getPossibleSymbolReferencePositions(sourceFile, symbolName, container), pos => { + const referenceLocation = getTouchingPropertyName(sourceFile, pos); + return referenceLocation === sourceFile ? undefined : referenceLocation; + }); } function getPossibleSymbolReferencePositions(sourceFile: SourceFile, symbolName: string, container: Node = sourceFile): readonly number[] { diff --git a/tests/baselines/reference/findAllReferencesImportMeta.baseline.jsonc b/tests/baselines/reference/findAllReferencesImportMeta.baseline.jsonc new file mode 100644 index 00000000000..d7b80ecdce1 --- /dev/null +++ b/tests/baselines/reference/findAllReferencesImportMeta.baseline.jsonc @@ -0,0 +1,25 @@ +// === findAllReferences === +// === /tests/cases/fourslash/findAllReferencesImportMeta.ts === +// // Haha that's so meta! +// +// let x = import.[|meta|]/*FIND ALL REFS*/; + + // === Definitions === + // === /tests/cases/fourslash/findAllReferencesImportMeta.ts === + // // Haha that's so meta! + // + // let x = import.[|meta|]/*FIND ALL REFS*/; + + // === Details === + [ + { + "containerKind": "", + "containerName": "", + "kind": "keyword", + "displayParts": [ + { + "kind": "keyword" + } + ] + } + ] \ No newline at end of file diff --git a/tests/cases/fourslash/findAllReferencesImportMeta.ts b/tests/cases/fourslash/findAllReferencesImportMeta.ts new file mode 100644 index 00000000000..62ce82e20ef --- /dev/null +++ b/tests/cases/fourslash/findAllReferencesImportMeta.ts @@ -0,0 +1,7 @@ +/// + +////// Haha that's so meta! +//// +////let x = import.meta/**/; + +verify.baselineFindAllReferences("");