From fde12ea8dd479854f95e600eb56bc61b6f762880 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Tue, 7 Jul 2015 14:40:27 +0300 Subject: [PATCH] unimplement with cyclic inheritance (IDEA-142343) --- .../actions/UnimplementInterfaceAction.java | 2 ++ .../quickFix/unimplement/afterSelf.java | 8 ++++++++ .../quickFix/unimplement/beforeSelf.java | 8 ++++++++ 3 files changed, 18 insertions(+) create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unimplement/afterSelf.java create mode 100644 java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unimplement/beforeSelf.java diff --git a/java/java-impl/src/com/intellij/codeInspection/actions/UnimplementInterfaceAction.java b/java/java-impl/src/com/intellij/codeInspection/actions/UnimplementInterfaceAction.java index 4f5d8e5b926a..7760bdb59b95 100644 --- a/java/java-impl/src/com/intellij/codeInspection/actions/UnimplementInterfaceAction.java +++ b/java/java-impl/src/com/intellij/codeInspection/actions/UnimplementInterfaceAction.java @@ -123,6 +123,8 @@ public class UnimplementInterfaceAction implements IntentionAction { } element.delete(); + if (target == psiClass) return; + final Set superMethods = new HashSet(); for (PsiClass aClass : psiClass.getSupers()) { Collections.addAll(superMethods, aClass.getAllMethods()); diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unimplement/afterSelf.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unimplement/afterSelf.java new file mode 100644 index 000000000000..3b1c1e8c4505 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unimplement/afterSelf.java @@ -0,0 +1,8 @@ +// "Unimplement Class" "true" +class A { + public String toString() { + return super.toString(); + } + + public void foo(String ty){} +} \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unimplement/beforeSelf.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unimplement/beforeSelf.java new file mode 100644 index 000000000000..8f46be87d5c0 --- /dev/null +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/unimplement/beforeSelf.java @@ -0,0 +1,8 @@ +// "Unimplement Class" "true" +class A implements A { + public String toString() { + return super.toString(); + } + + public void foo(String ty){} +} \ No newline at end of file