diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/conversions/ConvertClosureToMethodIntention.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/conversions/ConvertClosureToMethodIntention.java index bcdd2795e55a..70d3aa706f6f 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/conversions/ConvertClosureToMethodIntention.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/conversions/ConvertClosureToMethodIntention.java @@ -70,21 +70,10 @@ public class ConvertClosureToMethodIntention extends Intention { @Override protected void processIntention(@NotNull PsiElement element, @NotNull Project project, Editor editor) throws IncorrectOperationException { - final GrField field; - if (element.getParent() instanceof GrField) { - field = (GrField)element.getParent(); - } - else { - final PsiReference ref = element.getReference(); - LOG.assertTrue(ref != null); - PsiElement resolved = ref.resolve(); - if (resolved instanceof GrAccessorMethod) { - resolved = ((GrAccessorMethod)resolved).getProperty(); - } - LOG.assertTrue(resolved instanceof GrField); - field = (GrField)resolved; - } + final PsiElement parent = element.getParent(); + if (!(parent instanceof GrField)) return; + final GrField field = (GrField)parent; final HashSet usages = new HashSet<>(); usages.addAll(ReferencesSearch.search(field).findAll()); final GrAccessorMethod[] getters = field.getGetters(); @@ -97,7 +86,6 @@ public class ConvertClosureToMethodIntention extends Intention { } final String fieldName = field.getName(); - LOG.assertTrue(fieldName != null); final Collection fieldUsages = new HashSet<>(); MultiMap conflicts = new MultiMap<>(); for (PsiReference usage : usages) { @@ -215,22 +203,12 @@ public class ConvertClosureToMethodIntention extends Intention { @Override public boolean satisfiedBy(@NotNull PsiElement element) { if (element.getLanguage() != GroovyLanguage.INSTANCE) return false; - final PsiReference ref = element.getReference(); - GrField field; - if (ref != null) { - PsiElement resolved = ref.resolve(); - if (resolved instanceof GrAccessorMethod) { - resolved = ((GrAccessorMethod)resolved).getProperty(); - } - if (!(resolved instanceof GrField)) return false; - field = (GrField)resolved; - } - else { - final PsiElement parent = element.getParent(); - if (!(parent instanceof GrField)) return false; - field = (GrField)parent; - if (field.getNameIdentifierGroovy() != element) return false; - } + + final PsiElement parent = element.getParent(); + if (!(parent instanceof GrField)) return false; + + final GrField field = (GrField)parent; + if (field.getNameIdentifierGroovy() != element) return false; final PsiElement varDeclaration = field.getParent(); if (!(varDeclaration instanceof GrVariableDeclaration)) return false; diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/intentions/ConvertMethodToClosureTest.java b/plugins/groovy/test/org/jetbrains/plugins/groovy/intentions/ConvertMethodToClosureTest.java index 48a5c0fd8513..286d6e79a494 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/intentions/ConvertMethodToClosureTest.java +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/intentions/ConvertMethodToClosureTest.java @@ -59,10 +59,6 @@ public class ConvertMethodToClosureTest extends GrIntentionTestCase { doMethodToClosureTest(); } - public void testClosureFromReference() { - doClosureToMethodTest(); - } - public void testConstructorToClosure() { doMethodToClosureTest(false); } public void testInvalidMethodName() {doMethodToClosureTest(false);} diff --git a/plugins/groovy/testdata/intentions/convertMethodToClosure/ClosureFromReference.groovy b/plugins/groovy/testdata/intentions/convertMethodToClosure/ClosureFromReference.groovy deleted file mode 100644 index 59cff41d1449..000000000000 --- a/plugins/groovy/testdata/intentions/convertMethodToClosure/ClosureFromReference.groovy +++ /dev/null @@ -1,10 +0,0 @@ -class X{ - def a; - - static private final def foo = {def x, def y -> - print x + a; - print y; - } -} - -X.foo(2, 3) \ No newline at end of file diff --git a/plugins/groovy/testdata/intentions/convertMethodToClosure/ClosureFromReference_after.groovy b/plugins/groovy/testdata/intentions/convertMethodToClosure/ClosureFromReference_after.groovy deleted file mode 100644 index 536d4d2cdec7..000000000000 --- a/plugins/groovy/testdata/intentions/convertMethodToClosure/ClosureFromReference_after.groovy +++ /dev/null @@ -1,10 +0,0 @@ -class X{ - def a; - - static private final def foo(def x, def y) { - print x + a; - print y; - } -} - -X.foo(2, 3) \ No newline at end of file