From ca4decf447d3213074cbd3263f8c56c7e85ee73a Mon Sep 17 00:00:00 2001 From: Maxim Medvedev Date: Tue, 8 Mar 2011 11:27:31 +0300 Subject: [PATCH] IDEA-65998 Groovy: Introduce Variable intention should work on application statement. (Method call without brackets) --- .../lang/completion/GroovyInsertHandler.java | 20 --------- .../plugins/groovy/lang/psi/util/PsiUtil.java | 23 ++++++++-- .../introduce/GrIntroduceHandlerBase.java | 45 ++++++++++--------- 3 files changed, 43 insertions(+), 45 deletions(-) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/GroovyInsertHandler.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/GroovyInsertHandler.java index f56ad775fe74..d3c280db6494 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/GroovyInsertHandler.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/completion/GroovyInsertHandler.java @@ -153,26 +153,6 @@ public class GroovyInsertHandler implements InsertHandler { addTailType(item).processTail(context.getEditor(), context.getTailOffset()); } - /* - private static boolean isExpressionStatement(PsiFile psiFile, int offset) { - PsiElement elementAt = psiFile.findElementAt(offset); - if (elementAt == null) return false; - GrExpression expr = PsiTreeUtil.getParentOfType(elementAt, GrExpression.class); - if (expr == null) return false; - final PsiElement parent = expr.getParent(); - if (parent instanceof GrControlFlowOwner) return true; - if (parent instanceof GrExpression || - parent instanceof GrArgumentList || - parent instanceof GrReturnStatement || - parent instanceof GrAssertStatement || - parent instanceof GrThrowStatement || - parent instanceof GrSwitchStatement) { - return false; - } - return true; - } - */ - private static void handleOverwrite(final int offset, final Document document) { final CharSequence sequence = document.getCharsSequence(); int i = offset; diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/PsiUtil.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/PsiUtil.java index 24b735fc2784..428e1930836e 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/PsiUtil.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/util/PsiUtil.java @@ -50,14 +50,14 @@ import org.jetbrains.plugins.groovy.lang.psi.*; import org.jetbrains.plugins.groovy.lang.psi.api.GroovyResolveResult; import org.jetbrains.plugins.groovy.lang.psi.api.auxiliary.GrListOrMap; import org.jetbrains.plugins.groovy.lang.psi.api.auxiliary.modifiers.GrModifier; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrField; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrStatement; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrTopLevelDefinition; -import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrVariable; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.*; import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrArgumentLabel; import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrArgumentList; import org.jetbrains.plugins.groovy.lang.psi.api.statements.arguments.GrNamedArgument; import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrClosableBlock; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.branch.GrAssertStatement; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.branch.GrReturnStatement; +import org.jetbrains.plugins.groovy.lang.psi.api.statements.branch.GrThrowStatement; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.*; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.literals.GrLiteral; import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.path.GrIndexProperty; @@ -1097,4 +1097,19 @@ public class PsiUtil { } return qualifier == null; } + + public static boolean isExpressionStatement(GrExpression expr) { + final PsiElement parent = expr.getParent(); + if (parent instanceof GrControlFlowOwner) return true; + if (parent instanceof GrExpression || + parent instanceof GrArgumentList || + parent instanceof GrReturnStatement || + parent instanceof GrAssertStatement || + parent instanceof GrThrowStatement || + parent instanceof GrSwitchStatement) { + return false; + } + return true; + } + } 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 02005c549138..976e2880edef 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 @@ -89,22 +89,31 @@ public abstract class GrIntroduceHandlerBase