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;`, +});