diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/GrReferenceExpressionImpl.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/GrReferenceExpressionImpl.java index 56e0ddec99d2..495b287497b4 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/GrReferenceExpressionImpl.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/GrReferenceExpressionImpl.java @@ -67,6 +67,7 @@ import org.jetbrains.plugins.groovy.lang.resolve.ResolveUtil; import org.jetbrains.plugins.groovy.lang.resolve.processors.*; import java.util.ArrayList; +import java.util.Arrays; import java.util.EnumSet; import java.util.List; @@ -816,7 +817,19 @@ public class GrReferenceExpressionImpl extends GrReferenceElementImpl boolean shortenReference(GrQualifiedReference ref) { final Qualifier qualifier = ref.getQualifier(); - if (qualifier != null && + if (qualifier != null && !(qualifier instanceof GrSuperReferenceExpression) && (PsiTreeUtil.getParentOfType(ref, GrDocMemberReference.class) != null || PsiTreeUtil.getParentOfType(ref, GrDocComment.class) == null) && PsiTreeUtil.getParentOfType(ref, GrImportStatement.class) == null && diff --git a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/findUsages/FindUsagesTest.java b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/findUsages/FindUsagesTest.java index 27d59683200a..26aea814ee3d 100644 --- a/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/findUsages/FindUsagesTest.java +++ b/plugins/groovy/test/org/jetbrains/plugins/groovy/lang/findUsages/FindUsagesTest.java @@ -139,6 +139,10 @@ public class FindUsagesTest extends LightGroovyTestCase { doTestImpl("A.groovy", 1); } + public void testOverridingMethodUsage() throws Throwable { + doTestImpl("OverridingMethodUsage.groovy", 2); + } + public void testAnnotatedMemberSearch() throws Throwable { final PsiReference ref = myFixture.getReferenceAtCaretPosition("A.groovy"); diff --git a/plugins/groovy/testdata/findUsages/overridingMethodUsage/OverridingMethodUsage.groovy b/plugins/groovy/testdata/findUsages/overridingMethodUsage/OverridingMethodUsage.groovy new file mode 100644 index 000000000000..fe0fb25c3b6d --- /dev/null +++ b/plugins/groovy/testdata/findUsages/overridingMethodUsage/OverridingMethodUsage.groovy @@ -0,0 +1,11 @@ +class Bar { + boolean isFocused() { } +} + +class BarImpl extends Bar { + @Override + boolean isFocused() { } +} + +println new BarImpl().focused +println new BarImpl().isFocused() \ No newline at end of file