diff --git a/java/java-impl/src/com/intellij/refactoring/turnRefsToSuper/TurnRefsToSuperProcessorBase.java b/java/java-impl/src/com/intellij/refactoring/turnRefsToSuper/TurnRefsToSuperProcessorBase.java index dd77f9c0d779..d281a72559de 100644 --- a/java/java-impl/src/com/intellij/refactoring/turnRefsToSuper/TurnRefsToSuperProcessorBase.java +++ b/java/java-impl/src/com/intellij/refactoring/turnRefsToSuper/TurnRefsToSuperProcessorBase.java @@ -269,7 +269,7 @@ public abstract class TurnRefsToSuperProcessorBase extends BaseRefactoringProces if (classReference.getParent() instanceof PsiReferenceList) { final PsiReferenceList referenceList = ((PsiReferenceList)ppparent.getParent()); final PsiClass parentClass = PsiTreeUtil.getParentOfType(ref, PsiClass.class); - if (parentClass != null) { + if (parentClass != null && !parentClass.equals(myClass)) { if (referenceList.equals(parentClass.getExtendsList()) || referenceList.equals(parentClass.getImplementsList())) { final PsiTypeElement[] typeParameterElements = refParameterList.getTypeParameterElements(); for (int i = 0; i < typeParameterElements.length; i++) { diff --git a/java/java-tests/testData/refactoring/turnRefsToSuper/selfReference/after/Client.java b/java/java-tests/testData/refactoring/turnRefsToSuper/selfReference/after/Client.java new file mode 100644 index 000000000000..16c615f00758 --- /dev/null +++ b/java/java-tests/testData/refactoring/turnRefsToSuper/selfReference/after/Client.java @@ -0,0 +1,2 @@ +interface SuperBar { } +interface Bar extends SuperBar {} \ No newline at end of file diff --git a/java/java-tests/testData/refactoring/turnRefsToSuper/selfReference/before/Client.java b/java/java-tests/testData/refactoring/turnRefsToSuper/selfReference/before/Client.java new file mode 100644 index 000000000000..16c615f00758 --- /dev/null +++ b/java/java-tests/testData/refactoring/turnRefsToSuper/selfReference/before/Client.java @@ -0,0 +1,2 @@ +interface SuperBar { } +interface Bar extends SuperBar {} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/java/refactoring/TurnRefsToSuperTest.java b/java/java-tests/testSrc/com/intellij/java/refactoring/TurnRefsToSuperTest.java index 2cb4c5da3975..c252ef8ad915 100644 --- a/java/java-tests/testSrc/com/intellij/java/refactoring/TurnRefsToSuperTest.java +++ b/java/java-tests/testSrc/com/intellij/java/refactoring/TurnRefsToSuperTest.java @@ -55,6 +55,7 @@ public class TurnRefsToSuperTest extends LightMultiFileTestCase { public void testTryWithResources1() { doTest("Test.MyResourceImpl", "Test.MyResource", false); } public void testTryWithResources2() { doTest("Test.MyResourceImpl", "Test.MyResource", false); } public void testDifferentNumberOfParams() { doTest("Bar", "SuperBar", false); } + public void testSelfReference() { doTest("Bar", "SuperBar", false); } //todo[ann] fix and uncomment //public void testStaticCallArguments() throws Exception { doTest("Impl", "Int", false); }