Bug 578819 - Refactor rename no longer changes file without inputting
Enter
There are two different methods LinkedNodeFinder.findByNode(root,
nameNode) and the difference is in the argument type - Name vs
SimpleName. Previous refactoring changed "SimpleName nameNode" to "Name
nameNode" and that caused different implementation to be used.
Change-Id: I526c87c24e2e431319868508ac7eb14657f26773
Reviewed-on: https://git.eclipse.org/r/c/jdt/eclipse.jdt.ui/+/190938
Tested-by: JDT Bot <jdt-bot@eclipse.org>
Reviewed-by: Kalyan Prasad Tatavarthi <kalyan_prasad@in.ibm.com>
diff --git a/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/reorg/RenameLinkedMode.java b/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/reorg/RenameLinkedMode.java
index 6eb6ca0..088c574 100644
--- a/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/reorg/RenameLinkedMode.java
+++ b/org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/reorg/RenameLinkedMode.java
@@ -214,23 +214,28 @@
fLinkedPositionGroup= new LinkedPositionGroup();
ASTNode selectedNode= NodeFinder.perform(root, fOriginalSelection.x, fOriginalSelection.y);
- Name nameNode= null;
+ final int pos;
+ ASTNode[] sameNodes;
if (! (selectedNode instanceof Name)) {
return; // TODO: show dialog
} else if (this.fJavaElement != null &&
this.fJavaElement.getElementType() == IJavaElement.JAVA_MODULE) {
- nameNode= (Name) selectedNode;
+ Name nameNode = (Name) selectedNode;
ASTNode parent = nameNode.getParent();
while(parent instanceof Name) {
nameNode = (Name) parent;
parent = nameNode.getParent();
}
fOriginalName= nameNode.getFullyQualifiedName();
+ pos= nameNode.getStartPosition();
+ sameNodes= LinkedNodeFinder.findByNode(root, nameNode);
} else if (! (selectedNode instanceof SimpleName)) {
return; // TODO: show dialog
} else {
- nameNode = (SimpleName)selectedNode;
- fOriginalName= ((SimpleName)nameNode).getIdentifier();
+ SimpleName nameNode = (SimpleName)selectedNode;
+ fOriginalName = nameNode.getIdentifier();
+ pos = nameNode.getStartPosition();
+ sameNodes= LinkedNodeFinder.findByNode(root, nameNode);
}
if (viewer instanceof ITextViewerExtension6) {
@@ -243,9 +248,6 @@
}
}
- final int pos= nameNode.getStartPosition();
- ASTNode[] sameNodes= LinkedNodeFinder.findByNode(root, nameNode);
-
//TODO: copied from LinkedNamesAssistProposal#apply(..):
// sort for iteration order, starting with the node @ offset
Arrays.sort(sameNodes, new Comparator<ASTNode>() {