From d5a751f246bc40dc9b0d2dd1f51368c1ba158de1 Mon Sep 17 00:00:00 2001 From: Max Medvedev Date: Thu, 18 Jul 2013 15:57:44 +0400 Subject: [PATCH] IDEA-110721 Groovy: introduce field from var, static checking --- .../introduce/GrIntroduceContext.java | 3 -- .../introduce/GrIntroduceContextImpl.java | 8 ----- .../introduce/GrIntroduceHandlerBase.java | 8 ++--- .../field/GrInplaceFieldIntroducer.java | 4 +-- .../field/GrIntroduceFieldHandler.java | 32 +++++++++++++++---- .../field/GrIntroduceFieldProcessor.java | 2 +- 6 files changed, 33 insertions(+), 24 deletions(-) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/GrIntroduceContext.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/GrIntroduceContext.java index 3a51eb5dfaa7..8004c7238753 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/GrIntroduceContext.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/GrIntroduceContext.java @@ -48,7 +48,4 @@ public interface GrIntroduceContext { @NotNull PsiElement getPlace(); - - @NotNull - PsiElement getElementToIntroduce(); } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/GrIntroduceContextImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/GrIntroduceContextImpl.java index a3de81c62bc0..07ce11603686 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/GrIntroduceContextImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/GrIntroduceContextImpl.java @@ -96,12 +96,4 @@ public class GrIntroduceContextImpl implements GrIntroduceContext { public PsiElement getPlace() { return myPlace; } - - @NotNull - @Override - public PsiElement getElementToIntroduce() { - return myExpression != null ? myExpression : - myVar != null ? myVar : - myStringPart.getLiteral(); - } } diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/GrIntroduceHandlerBase.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/GrIntroduceHandlerBase.java index 98ed89a7ad8d..caf167d87323 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/GrIntroduceHandlerBase.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/refactoring/introduce/GrIntroduceHandlerBase.java @@ -325,7 +325,7 @@ public abstract class GrIntroduceHandlerBase occurrences = ContainerUtil.newArrayList(); Document document = editor.getDocument(); @@ -345,7 +345,7 @@ public abstract class GrIntroduceHandlerBase introducer = getIntroducer(var, context, settings, occurrences, varRangeMarker, expressionRangeMarker, stringPartRangeMarker); - PsiDocumentManager.getInstance(project).doPostponedOperationsAndUnblockDocument(context.getEditor().getDocument()); + PsiDocumentManager.getInstance(project).doPostponedOperationsAndUnblockDocument(editor.getDocument()); introducer.performInplaceRefactoring(getDialog(context).suggestNames()); } } @@ -405,7 +405,7 @@ public abstract class GrIntroduceHandlerBase occurrenceMarkers, RangeMarker varRangeMarker, @Nullable RangeMarker expressionRangeMarker, @Nullable RangeMarker stringPartRangeMarker) { - if (expressionRangeMarker != null) { + if (varRangeMarker != null) { + context.getEditor().getCaretModel().moveToOffset(var.getNameIdentifierGroovy().getTextRange().getStartOffset()); + } + else if (expressionRangeMarker != null) { context.getEditor().getCaretModel().moveToOffset(expressionRangeMarker.getStartOffset()); } else if (stringPartRangeMarker != null) { @@ -178,12 +181,29 @@ public class GrIntroduceFieldHandler extends GrIntroduceHandlerBase