From b0a985bf0b8ce150d383e29cfa177982831fef5d Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Tue, 4 Oct 2022 11:40:38 +0300 Subject: [PATCH] Add test for find-all-refs on string literal types in JsDoc for TypeScript files --- src/services/utilities.ts | 2 - ...ndAllRefsForStringLiteral1.baseline.jsonc} | 0 ...indAllRefsForStringLiteral2.baseline.jsonc | 38 +++++++++++++++++++ ...ral.ts => findAllRefsForStringLiteral1.ts} | 0 .../fourslash/findAllRefsForStringLiteral2.ts | 9 +++++ 5 files changed, 47 insertions(+), 2 deletions(-) rename tests/baselines/reference/{findAllRefsForStringLiteral.baseline.jsonc => findAllRefsForStringLiteral1.baseline.jsonc} (100%) create mode 100644 tests/baselines/reference/findAllRefsForStringLiteral2.baseline.jsonc rename tests/cases/fourslash/{findAllRefsForStringLiteral.ts => findAllRefsForStringLiteral1.ts} (100%) create mode 100644 tests/cases/fourslash/findAllRefsForStringLiteral2.ts diff --git a/src/services/utilities.ts b/src/services/utilities.ts index 58d1b1cbca1..4d24e57d051 100644 --- a/src/services/utilities.ts +++ b/src/services/utilities.ts @@ -790,8 +790,6 @@ namespace ts { } export function getContextualTypeFromParentOrAncestorTypeNode(node: Expression, checker: TypeChecker): Type | undefined { - if (node.flags & (NodeFlags.JSDoc & ~NodeFlags.JavaScriptFile)) return undefined; - const contextualType = getContextualTypeFromParent(node, checker); if (contextualType) return contextualType; diff --git a/tests/baselines/reference/findAllRefsForStringLiteral.baseline.jsonc b/tests/baselines/reference/findAllRefsForStringLiteral1.baseline.jsonc similarity index 100% rename from tests/baselines/reference/findAllRefsForStringLiteral.baseline.jsonc rename to tests/baselines/reference/findAllRefsForStringLiteral1.baseline.jsonc diff --git a/tests/baselines/reference/findAllRefsForStringLiteral2.baseline.jsonc b/tests/baselines/reference/findAllRefsForStringLiteral2.baseline.jsonc new file mode 100644 index 00000000000..e316226b879 --- /dev/null +++ b/tests/baselines/reference/findAllRefsForStringLiteral2.baseline.jsonc @@ -0,0 +1,38 @@ +// === /a.ts === +// /** +// * @type {"foo" | "bar"} +// */ +// let x = "[|foo|]"/*FIND ALL REFS*/ + +[ + { + "definition": { + "containerKind": "", + "containerName": "", + "fileName": "/a.ts", + "kind": "var", + "name": "foo", + "textSpan": { + "start": 42, + "length": 3 + }, + "displayParts": [ + { + "text": "\"foo\"", + "kind": "stringLiteral" + } + ] + }, + "references": [ + { + "textSpan": { + "start": 42, + "length": 3 + }, + "fileName": "/a.ts", + "isWriteAccess": false, + "isInString": true + } + ] + } +] \ No newline at end of file diff --git a/tests/cases/fourslash/findAllRefsForStringLiteral.ts b/tests/cases/fourslash/findAllRefsForStringLiteral1.ts similarity index 100% rename from tests/cases/fourslash/findAllRefsForStringLiteral.ts rename to tests/cases/fourslash/findAllRefsForStringLiteral1.ts diff --git a/tests/cases/fourslash/findAllRefsForStringLiteral2.ts b/tests/cases/fourslash/findAllRefsForStringLiteral2.ts new file mode 100644 index 00000000000..80d978e1d35 --- /dev/null +++ b/tests/cases/fourslash/findAllRefsForStringLiteral2.ts @@ -0,0 +1,9 @@ +/// + +// @filename: /a.ts +/////** +//// * @type {"foo" | "bar"} +//// */ +////let x = "foo"/**/ + +verify.baselineFindAllReferences("");