From aa18ce31612dd86096181266fa6107f7e4e1b061 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Mon, 9 Feb 2015 15:47:48 +0100 Subject: [PATCH] extract local variable: notifications restored --- .../JavaVariableInplaceIntroducer.java | 14 ++++++++++++++ .../inplace/AbstractInplaceIntroducer.java | 15 ++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/refactoring/introduceVariable/JavaVariableInplaceIntroducer.java b/java/java-impl/src/com/intellij/refactoring/introduceVariable/JavaVariableInplaceIntroducer.java index d68e683de6ce..1ca65253307b 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceVariable/JavaVariableInplaceIntroducer.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceVariable/JavaVariableInplaceIntroducer.java @@ -128,6 +128,11 @@ public class JavaVariableInplaceIntroducer extends AbstractJavaInplaceIntroducer return "IntroduceVariable"; } + @Override + protected String getRefactoringId() { + return "refactoring.extractLocal"; + } + @Override protected void restoreState(@NotNull PsiVariable psiField) { if (myDeleteSelf) return; @@ -159,6 +164,15 @@ public class JavaVariableInplaceIntroducer extends AbstractJavaInplaceIntroducer } } + @Override + protected PsiExpression getBeforeExpr() { + final PsiVariable variable = getVariable(); + if (variable != null) { + return variable.getInitializer(); + } + return super.getBeforeExpr(); + } + @Override protected void performIntroduce() { final PsiVariable psiVariable = getVariable(); diff --git a/platform/lang-impl/src/com/intellij/refactoring/introduce/inplace/AbstractInplaceIntroducer.java b/platform/lang-impl/src/com/intellij/refactoring/introduce/inplace/AbstractInplaceIntroducer.java index ea0b8bad56e0..b0b6f8da971a 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/introduce/inplace/AbstractInplaceIntroducer.java +++ b/platform/lang-impl/src/com/intellij/refactoring/introduce/inplace/AbstractInplaceIntroducer.java @@ -531,7 +531,16 @@ public abstract class AbstractInplaceIntroducer