From f7eac73a6f2e72470c581c62857e4ea7263e871e Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Wed, 3 Feb 2016 00:09:38 -0800 Subject: [PATCH] Recognize `=` as equivalent to `?` in JSDoc signatures Fixes #6811 --- src/compiler/parser.ts | 3 +++ tests/cases/fourslash/jsDocFunctionSignatures2.ts | 12 ++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 tests/cases/fourslash/jsDocFunctionSignatures2.ts diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index b6ba02b987c..9fcc2ec34d6 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -5727,6 +5727,9 @@ namespace ts { function parseJSDocParameter(): ParameterDeclaration { const parameter = createNode(SyntaxKind.Parameter); parameter.type = parseJSDocType(); + if (parseOptional(SyntaxKind.EqualsToken)) { + parameter.questionToken = createNode(SyntaxKind.QuestionToken); + } return finishNode(parameter); } diff --git a/tests/cases/fourslash/jsDocFunctionSignatures2.ts b/tests/cases/fourslash/jsDocFunctionSignatures2.ts new file mode 100644 index 00000000000..174ea7d6560 --- /dev/null +++ b/tests/cases/fourslash/jsDocFunctionSignatures2.ts @@ -0,0 +1,12 @@ +/// + +// @allowNonTsExtensions: true +// @Filename: Foo.js + +//// /** @type {function(string, boolean=): number} */ +//// var f6; +//// +//// f6('', /**/false) + +goTo.marker(); +verify.currentSignatureHelpIs('f6(p0: string, p1?: boolean): number')