diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index eaa8bbef47237..bf124d6319f76 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -9227,7 +9227,7 @@ namespace Parser { let name: EntityName | JSDocMemberName = parseIdentifierName(); while (parseOptional(SyntaxKind.DotToken)) { - name = finishNode(factory.createQualifiedName(name, token() === SyntaxKind.PrivateIdentifier ? createMissingNode(SyntaxKind.Identifier, /*reportAtCurrentPosition*/ false) : parseIdentifier()), pos); + name = finishNode(factory.createQualifiedName(name, token() === SyntaxKind.PrivateIdentifier ? createMissingNode(SyntaxKind.Identifier, /*reportAtCurrentPosition*/ false) : parseIdentifierName()), pos); } while (token() === SyntaxKind.PrivateIdentifier) { reScanHashToken(); diff --git a/tests/baselines/reference/jsdocLinkTag8.symbols b/tests/baselines/reference/jsdocLinkTag8.symbols new file mode 100644 index 0000000000000..950bdb0fc15d6 --- /dev/null +++ b/tests/baselines/reference/jsdocLinkTag8.symbols @@ -0,0 +1,9 @@ +//// [tests/cases/conformance/jsdoc/jsdocLinkTag8.ts] //// + +=== /a.js === +/** {@link Map.delete} */ +const remove = (map, key) => {} +>remove : Symbol(remove, Decl(a.js, 1, 5)) +>map : Symbol(map, Decl(a.js, 1, 16)) +>key : Symbol(key, Decl(a.js, 1, 20)) + diff --git a/tests/baselines/reference/jsdocLinkTag8.types b/tests/baselines/reference/jsdocLinkTag8.types new file mode 100644 index 0000000000000..0ea3c175fb9ae --- /dev/null +++ b/tests/baselines/reference/jsdocLinkTag8.types @@ -0,0 +1,10 @@ +//// [tests/cases/conformance/jsdoc/jsdocLinkTag8.ts] //// + +=== /a.js === +/** {@link Map.delete} */ +const remove = (map, key) => {} +>remove : (map: any, key: any) => void +>(map, key) => {} : (map: any, key: any) => void +>map : any +>key : any + diff --git a/tests/cases/conformance/jsdoc/jsdocLinkTag8.ts b/tests/cases/conformance/jsdoc/jsdocLinkTag8.ts new file mode 100644 index 0000000000000..ac817f70f1175 --- /dev/null +++ b/tests/cases/conformance/jsdoc/jsdocLinkTag8.ts @@ -0,0 +1,8 @@ +// @checkJs: true +// @allowJs: true +// @target: esnext +// @noEmit: true +// @filename: /a.js + +/** {@link Map.delete} */ +const remove = (map, key) => {}