diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index cd89248144b..03a89343045 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -6707,7 +6707,7 @@ namespace ts { createNode(SyntaxKind.JSDocParameterTag, atToken.pos); let comment: string | undefined; if (indent !== undefined) comment = parseTagComments(indent + scanner.getStartPos() - atToken.pos); - const nestedTypeLiteral = parseNestedTypeLiteral(typeExpression, name, target); + const nestedTypeLiteral = target !== PropertyLikeParse.CallbackParameter && parseNestedTypeLiteral(typeExpression, name, target); if (nestedTypeLiteral) { typeExpression = nestedTypeLiteral; isNameFirst = true; diff --git a/tests/baselines/reference/callbackTagNamespace.symbols b/tests/baselines/reference/callbackTagNamespace.symbols index b8cf7d95886..1723fab71c3 100644 --- a/tests/baselines/reference/callbackTagNamespace.symbols +++ b/tests/baselines/reference/callbackTagNamespace.symbols @@ -1,8 +1,8 @@ === tests/cases/conformance/jsdoc/namespaced.js === /** * @callback NS.Nested.Inner - * @param {string} space - spaaaaaaaaace - * @param {string} peace - peaaaaaaaaace + * @param {Object} space - spaaaaaaaaace + * @param {Object} peace - peaaaaaaaaace * @return {string | number} */ var x = 1; diff --git a/tests/baselines/reference/callbackTagNamespace.types b/tests/baselines/reference/callbackTagNamespace.types index 0435320795d..8bca9a56a5c 100644 --- a/tests/baselines/reference/callbackTagNamespace.types +++ b/tests/baselines/reference/callbackTagNamespace.types @@ -1,8 +1,8 @@ === tests/cases/conformance/jsdoc/namespaced.js === /** * @callback NS.Nested.Inner - * @param {string} space - spaaaaaaaaace - * @param {string} peace - peaaaaaaaaace + * @param {Object} space - spaaaaaaaaace + * @param {Object} peace - peaaaaaaaaace * @return {string | number} */ var x = 1; @@ -11,9 +11,9 @@ var x = 1; /** @type {NS.Nested.Inner} */ function f(space, peace) { ->f : (space: string, peace: string) => string ->space : string ->peace : string +>f : (space: any, peace: any) => string +>space : any +>peace : any return '1' >'1' : "1" diff --git a/tests/cases/conformance/jsdoc/callbackTagNamespace.ts b/tests/cases/conformance/jsdoc/callbackTagNamespace.ts index ba331e79fc4..54d363f31dc 100644 --- a/tests/cases/conformance/jsdoc/callbackTagNamespace.ts +++ b/tests/cases/conformance/jsdoc/callbackTagNamespace.ts @@ -4,8 +4,8 @@ // @Filename: namespaced.js /** * @callback NS.Nested.Inner - * @param {string} space - spaaaaaaaaace - * @param {string} peace - peaaaaaaaaace + * @param {Object} space - spaaaaaaaaace + * @param {Object} peace - peaaaaaaaaace * @return {string | number} */ var x = 1;