diff --git a/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/InplaceRefactoring.java b/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/InplaceRefactoring.java index a25d37e3f293..b93d6ea3b8fb 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/InplaceRefactoring.java +++ b/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/InplaceRefactoring.java @@ -268,11 +268,16 @@ public abstract class InplaceRefactoring { int offset = myEditor.getCaretModel().getOffset(); PsiElement selectedElement = getSelectedInEditorElement(nameIdentifier, refs, stringUsages, offset); - if (nameIdentifier != null) addVariable(nameIdentifier, selectedElement, builder); + boolean subrefOnPrimaryElement = false; for (PsiReference ref : refs) { - if (nameIdentifier != null && ref.getElement() == nameIdentifier.getParent()) continue; + if (nameIdentifier != null && ref.getElement() == nameIdentifier.getParent()) { + builder.replaceElement(ref, PRIMARY_VARIABLE_NAME, createLookupExpression(), true); + subrefOnPrimaryElement = true; + continue; + } addVariable(ref, selectedElement, builder, offset); } + if (nameIdentifier != null && !subrefOnPrimaryElement) addVariable(nameIdentifier, selectedElement, builder); for (Pair usage : stringUsages) { addVariable(usage.first, usage.second, selectedElement, builder); } diff --git a/plugins/javaFX/javaFX-CE/testSrc/org/jetbrains/plugins/javaFX/fxml/JavaFXRenameTest.java b/plugins/javaFX/javaFX-CE/testSrc/org/jetbrains/plugins/javaFX/fxml/JavaFXRenameTest.java index e84c06dcff60..fe18c7e1f55d 100644 --- a/plugins/javaFX/javaFX-CE/testSrc/org/jetbrains/plugins/javaFX/fxml/JavaFXRenameTest.java +++ b/plugins/javaFX/javaFX-CE/testSrc/org/jetbrains/plugins/javaFX/fxml/JavaFXRenameTest.java @@ -38,6 +38,10 @@ public class JavaFXRenameTest extends DaemonAnalyzerTestCase { doTest("newFieldName"); } + public void testHandler() throws Exception { + doTest("newHandlerName"); + } + public void testCustomComponentTag() throws Exception { doTest("Foo"); } diff --git a/plugins/javaFX/testData/rename/Handler.fxml b/plugins/javaFX/testData/rename/Handler.fxml new file mode 100644 index 000000000000..a6afa36149c1 --- /dev/null +++ b/plugins/javaFX/testData/rename/Handler.fxml @@ -0,0 +1,8 @@ + + + + + +