From 6c04a0d14e369075d63b7096712b406bcf0ad0cb Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Fri, 31 May 2019 11:33:36 -0700 Subject: [PATCH] For property name of binding element use binding element as preview node --- src/services/findAllReferences.ts | 8 ++++---- .../fourslash/renameObjectBindingElementPropertyName01.ts | 7 ++++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/services/findAllReferences.ts b/src/services/findAllReferences.ts index 453fd31ac98..743b8915ae0 100644 --- a/src/services/findAllReferences.ts +++ b/src/services/findAllReferences.ts @@ -40,15 +40,15 @@ namespace ts.FindAllReferences { } // TODO(shkamat):: - // JSXOpeningElement or JSXElement for tagName ? + // JSXOpeningElement or JSXElement for tagName ? if (!node.parent || (!isDeclaration(node.parent) && !isExportAssignment(node.parent))) { return undefined; } if (node.parent.name === node || // node is name of declaration, use parent - // Property name of the import export specifier use import/export specifier - isImportOrExportSpecifier(node.parent) && node.parent.propertyName === node || - // Is assignment of export assignment + // Property name of the import export specifier or binding pattern, use parent + ((isImportOrExportSpecifier(node.parent) || isBindingElement(node.parent)) + && node.parent.propertyName === node) || isExportAssignment(node.parent) && node.parent.expression === node) { return getDeclarationForDeclarationSpan(node.parent); } diff --git a/tests/cases/fourslash/renameObjectBindingElementPropertyName01.ts b/tests/cases/fourslash/renameObjectBindingElementPropertyName01.ts index 4ae87f19db5..526838995c3 100644 --- a/tests/cases/fourslash/renameObjectBindingElementPropertyName01.ts +++ b/tests/cases/fourslash/renameObjectBindingElementPropertyName01.ts @@ -1,11 +1,12 @@ /// ////interface I { -//// [|property1|]: number; +//// [|[|{| "declarationRangeIndex": 0 |}property1|]: number;|] //// property2: string; ////} //// ////var foo: I; -////var { [|property1|]: prop1 } = foo; +////[|var { [|{| "declarationRangeIndex": 2 |}property1|]: prop1 } = foo;|] -verify.rangesAreRenameLocations(); + +verify.rangesAreRenameLocations(test.rangesByText().get("property1"));