From 43ecac801bbd4625ad91d4fe067814afbb0e72b6 Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Wed, 25 Jan 2023 09:42:57 +0200 Subject: [PATCH] fix(52386): JSDoc code fixes for arrow-function initialized const duplicates comment (#52390) --- .../codefixes/fixUnmatchedParameter.ts | 4 ++-- .../codeFixRenameUnmatchedParameter4.ts | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 tests/cases/fourslash/codeFixRenameUnmatchedParameter4.ts diff --git a/src/services/codefixes/fixUnmatchedParameter.ts b/src/services/codefixes/fixUnmatchedParameter.ts index 0bf1d4195e0..267e207a6cc 100644 --- a/src/services/codefixes/fixUnmatchedParameter.ts +++ b/src/services/codefixes/fixUnmatchedParameter.ts @@ -83,7 +83,7 @@ function getDeleteAction(context: CodeFixContext, { name, jsDocHost, jsDocParame ); } -function getRenameAction(context: CodeFixContext, { name, signature, jsDocParameterTag }: Info) { +function getRenameAction(context: CodeFixContext, { name, jsDocHost, signature, jsDocParameterTag }: Info) { if (!length(signature.parameters)) return undefined; const sourceFile = context.sourceFile; @@ -110,7 +110,7 @@ function getRenameAction(context: CodeFixContext, { name, signature, jsDocParame jsDocParameterTag.comment ); const changes = textChanges.ChangeTracker.with(context, changeTracker => - changeTracker.replaceJSDocComment(sourceFile, signature, map(tags, t => t === jsDocParameterTag ? newJSDocParameterTag : t))); + changeTracker.replaceJSDocComment(sourceFile, jsDocHost, map(tags, t => t === jsDocParameterTag ? newJSDocParameterTag : t))); return createCodeFixActionWithoutFixAll(renameUnmatchedParameter, changes, [Diagnostics.Rename_param_tag_name_0_to_1, name.getText(sourceFile), parameterName]); } diff --git a/tests/cases/fourslash/codeFixRenameUnmatchedParameter4.ts b/tests/cases/fourslash/codeFixRenameUnmatchedParameter4.ts new file mode 100644 index 00000000000..9c271e6e158 --- /dev/null +++ b/tests/cases/fourslash/codeFixRenameUnmatchedParameter4.ts @@ -0,0 +1,19 @@ +/// + +// @filename: /a.ts +/////** +//// * @param {string} y +//// * @returns +//// */ +////export const foo = (x: string) => x; + +verify.codeFix({ + description: [ts.Diagnostics.Rename_param_tag_name_0_to_1.message, "y", "x"], + index: 1, + newFileContent: +`/** + * @param {string} x + * @returns + */ +export const foo = (x: string) => x;`, +});