From 98a561956caecf72052e412d41d678ece509663b Mon Sep 17 00:00:00 2001 From: anna Date: Thu, 7 Apr 2011 16:29:24 +0200 Subject: [PATCH] introduce refactorings: do not try to rename dependencies after newly introduced variable (EA-26587 - AIOOBE: InplaceIntroduceParameterPopup.getParameter) --- .../introduceVariable/VariableInplaceIntroducer.java | 5 +++++ .../refactoring/rename/inplace/VariableInplaceRenamer.java | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/refactoring/introduceVariable/VariableInplaceIntroducer.java b/java/java-impl/src/com/intellij/refactoring/introduceVariable/VariableInplaceIntroducer.java index 458667316265..50a4ca5a891f 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceVariable/VariableInplaceIntroducer.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceVariable/VariableInplaceIntroducer.java @@ -169,6 +169,11 @@ public class VariableInplaceIntroducer extends VariableInplaceRenamer { return myExprMarker; } + @Override + protected boolean performAutomaticRename() { + return false; + } + @Override protected void moveOffsetAfter(boolean success) { try { diff --git a/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java b/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java index 787876bee14e..509b6dee0a40 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java +++ b/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java @@ -252,7 +252,7 @@ public class VariableInplaceRenamer { public void beforeTemplateFinished(final TemplateState templateState, Template template) { finish(); - if (snapshot != null) { + if (snapshot != null && performAutomaticRename()) { TextResult value = templateState.getVariableValue(PRIMARY_VARIABLE_NAME); if (value != null) { myNewName = value.toString(); @@ -329,6 +329,10 @@ public class VariableInplaceRenamer { return myElementToRename; } + protected boolean performAutomaticRename() { + return true; + } + protected void moveOffsetAfter(boolean success) { }