From 9fd0202e9f57601274416c9f0488d2c8de16fd90 Mon Sep 17 00:00:00 2001 From: Alexander T Date: Wed, 29 Jan 2020 19:21:19 +0200 Subject: [PATCH] fix(36481): allow renaming private fields (#36499) --- src/services/rename.ts | 1 + tests/cases/fourslash/renamePrivateFields.ts | 12 ++++++++++++ tests/cases/fourslash/renamePrivateFields1.ts | 11 +++++++++++ 3 files changed, 24 insertions(+) create mode 100644 tests/cases/fourslash/renamePrivateFields.ts create mode 100644 tests/cases/fourslash/renamePrivateFields1.ts diff --git a/src/services/rename.ts b/src/services/rename.ts index 775051a8364..141e00268a4 100644 --- a/src/services/rename.ts +++ b/src/services/rename.ts @@ -92,6 +92,7 @@ namespace ts.Rename { function nodeIsEligibleForRename(node: Node): boolean { switch (node.kind) { case SyntaxKind.Identifier: + case SyntaxKind.PrivateIdentifier: case SyntaxKind.StringLiteral: case SyntaxKind.NoSubstitutionTemplateLiteral: case SyntaxKind.ThisKeyword: diff --git a/tests/cases/fourslash/renamePrivateFields.ts b/tests/cases/fourslash/renamePrivateFields.ts new file mode 100644 index 00000000000..945caf9c0b9 --- /dev/null +++ b/tests/cases/fourslash/renamePrivateFields.ts @@ -0,0 +1,12 @@ +/// + +////class Foo { +//// [|/**/#foo|] = 1; +//// +//// getFoo() { +//// return this.#foo; +//// } +////} + +goTo.marker(""); +verify.renameInfoSucceeded("#foo"); diff --git a/tests/cases/fourslash/renamePrivateFields1.ts b/tests/cases/fourslash/renamePrivateFields1.ts new file mode 100644 index 00000000000..1c6e7907981 --- /dev/null +++ b/tests/cases/fourslash/renamePrivateFields1.ts @@ -0,0 +1,11 @@ +/// + +////class Foo { +//// [|[|{| "contextRangeIndex": 0 |}#foo|] = 1;|] +//// +//// getFoo() { +//// return this.[|#foo|]; +//// } +////} + +verify.rangesWithSameTextAreRenameLocations("#foo");