From d1d14e67d045ae79c83f2b956e2bddf44736b0fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Wed, 15 Nov 2023 20:34:59 +0100 Subject: [PATCH] Fixed a crash when getting document highlights on `out` variance annotation (#56408) --- src/services/documentHighlights.ts | 1 + .../documentHighlightVarianceModifiers.baseline.jsonc | 11 +++++++++++ .../fourslash/documentHighlightVarianceModifiers.ts | 6 ++++++ 3 files changed, 18 insertions(+) create mode 100644 tests/baselines/reference/documentHighlightVarianceModifiers.baseline.jsonc create mode 100644 tests/cases/fourslash/documentHighlightVarianceModifiers.ts diff --git a/src/services/documentHighlights.ts b/src/services/documentHighlights.ts index b5c92cc1b3f..37faabf7b53 100644 --- a/src/services/documentHighlights.ts +++ b/src/services/documentHighlights.ts @@ -178,6 +178,7 @@ export namespace DocumentHighlights { case SyntaxKind.YieldKeyword: return highlightSpans(getYieldOccurrences(node)); case SyntaxKind.InKeyword: + case SyntaxKind.OutKeyword: return undefined; default: return isModifierKind(node.kind) && (isDeclaration(node.parent) || isVariableStatement(node.parent)) diff --git a/tests/baselines/reference/documentHighlightVarianceModifiers.baseline.jsonc b/tests/baselines/reference/documentHighlightVarianceModifiers.baseline.jsonc new file mode 100644 index 00000000000..47fa7bc9d21 --- /dev/null +++ b/tests/baselines/reference/documentHighlightVarianceModifiers.baseline.jsonc @@ -0,0 +1,11 @@ +// === documentHighlights === +// === /tests/cases/fourslash/documentHighlightVarianceModifiers.ts === +// type TFoo = { value: Value }; +// type TBar = TFoo; + + + +// === documentHighlights === +// === /tests/cases/fourslash/documentHighlightVarianceModifiers.ts === +// type TFoo = { value: Value }; +// type TBar = TFoo; \ No newline at end of file diff --git a/tests/cases/fourslash/documentHighlightVarianceModifiers.ts b/tests/cases/fourslash/documentHighlightVarianceModifiers.ts new file mode 100644 index 00000000000..05bfa6913eb --- /dev/null +++ b/tests/cases/fourslash/documentHighlightVarianceModifiers.ts @@ -0,0 +1,6 @@ +/// + +//// type TFoo = { value: Value }; +//// type TBar<[|in|] [|out|] Value> = TFoo; + +verify.baselineDocumentHighlights();