From 52f40551747cccbdd1afa5be0eacad53d18fd947 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Wed, 29 Jun 2022 11:46:42 -0700 Subject: [PATCH] For missing constraint quickfix insert position, Use node name end rather than related span end (#49673) --- .../codefixes/fixAddMissingConstraint.ts | 2 +- .../fourslash/quickfixAddMissingConstraint3.ts | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 tests/cases/fourslash/quickfixAddMissingConstraint3.ts diff --git a/src/services/codefixes/fixAddMissingConstraint.ts b/src/services/codefixes/fixAddMissingConstraint.ts index cc622da055c..bd6b8650bfe 100644 --- a/src/services/codefixes/fixAddMissingConstraint.ts +++ b/src/services/codefixes/fixAddMissingConstraint.ts @@ -51,7 +51,7 @@ namespace ts.codefix { if (!newConstraint) return; const newConstraintText = newConstraint[1]; - changes.insertText(related.file!, related.start! + related.length!, ` extends ${newConstraintText}`); + changes.insertText(related.file!, decl.name.end, ` extends ${newConstraintText}`); } function findAncestorMatchingSpan(sourceFile: SourceFile, span: TextSpan): Node { diff --git a/tests/cases/fourslash/quickfixAddMissingConstraint3.ts b/tests/cases/fourslash/quickfixAddMissingConstraint3.ts new file mode 100644 index 00000000000..8c04de4b846 --- /dev/null +++ b/tests/cases/fourslash/quickfixAddMissingConstraint3.ts @@ -0,0 +1,17 @@ +/// + +// @Filename: file.ts +////function f(x: T) { +//// const y: `${number}` = x/**/; +////} +goTo.marker(""); +verify.codeFix({ + index: 0, + description: "Add `extends` constraint.", + newFileContent: { + "/tests/cases/fourslash/file.ts": +`function f(x: T) { + const y: \`$\{number}\` = x; +}` + } +});