From c96d27ff3b329dd54f173e7ea805e37d2e36511b Mon Sep 17 00:00:00 2001 From: Max Medvedev Date: Fri, 23 Aug 2013 12:37:17 +0400 Subject: [PATCH] Convert anonymous class to closure: don't insert 'as Runnable' if groovy version is at least 2.2 --- .../style/ReplaceAbstractClassInstanceByMapIntention.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/style/ReplaceAbstractClassInstanceByMapIntention.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/style/ReplaceAbstractClassInstanceByMapIntention.java index a145b1710246..642b64663469 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/style/ReplaceAbstractClassInstanceByMapIntention.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/style/ReplaceAbstractClassInstanceByMapIntention.java @@ -26,6 +26,7 @@ import com.intellij.psi.infos.CandidateInfo; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.jetbrains.plugins.groovy.config.GroovyConfigUtils; import org.jetbrains.plugins.groovy.intentions.base.Intention; import org.jetbrains.plugins.groovy.intentions.base.PsiElementPredicate; import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElement; @@ -81,6 +82,9 @@ public class ReplaceAbstractClassInstanceByMapIntention extends Intention { if (methods.size() == 1) { final Pair pair = methods.get(0); appendClosureTextByMethod(pair.getFirst(), buffer, pair.getSecond(), newExpr); + if (!GroovyConfigUtils.getInstance().isVersionAtLeast(psiElement, GroovyConfigUtils.GROOVY2_2)) { + buffer.append(" as ").append(iface.getQualifiedName()); + } } else { buffer.append("["); @@ -97,8 +101,9 @@ public class ReplaceAbstractClassInstanceByMapIntention extends Intention { buffer.append('\n'); } buffer.append("]"); + buffer.append(" as ").append(iface.getQualifiedName()); } - buffer.append(" as ").append(iface.getQualifiedName()); + createAndAdjustNewExpression(project, newExpr, buffer); }