From 2b8ccf40aeb07e04f37652bb77aca8727717df64 Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com> Date: Fri, 16 Aug 2019 13:39:57 -0700 Subject: [PATCH] jsdoc template tags might be unmatched (#32936) * jsdoc template tags might be unmatched * Update fourslash test --- src/compiler/utilities.ts | 2 +- tests/cases/fourslash/jsDocFunctionSignatures13.ts | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 tests/cases/fourslash/jsDocFunctionSignatures13.ts diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index b0cfb3eff24..58936916842 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -2343,7 +2343,7 @@ namespace ts { export function getTypeParameterFromJsDoc(node: TypeParameterDeclaration & { parent: JSDocTemplateTag }): TypeParameterDeclaration | undefined { const name = node.name.escapedText; const { typeParameters } = (node.parent.parent.parent as SignatureDeclaration | InterfaceDeclaration | ClassDeclaration); - return find(typeParameters!, p => p.name.escapedText === name); + return typeParameters && find(typeParameters, p => p.name.escapedText === name); } export function hasRestParameter(s: SignatureDeclaration | JSDocSignature): boolean { diff --git a/tests/cases/fourslash/jsDocFunctionSignatures13.ts b/tests/cases/fourslash/jsDocFunctionSignatures13.ts new file mode 100644 index 00000000000..49da2cb86e5 --- /dev/null +++ b/tests/cases/fourslash/jsDocFunctionSignatures13.ts @@ -0,0 +1,10 @@ +/// +//// /** +//// * @template {string} K/**/ a golden opportunity +//// */ +//// function Multimap(iv) { +//// }; + + +goTo.marker(''); +verify.quickInfoIs("any");