diff --git a/java/java-analysis-impl/intellij.java.analysis.impl.iml b/java/java-analysis-impl/intellij.java.analysis.impl.iml
index f60a50d6fb49..68743eecf9f3 100644
--- a/java/java-analysis-impl/intellij.java.analysis.impl.iml
+++ b/java/java-analysis-impl/intellij.java.analysis.impl.iml
@@ -24,5 +24,6 @@
+
\ No newline at end of file
diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/ComparableImplementedButEqualsNotOverriddenInspection.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/ComparableImplementedButEqualsNotOverriddenInspection.java
index c39fed612adb..a67d13a8c150 100644
--- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/ComparableImplementedButEqualsNotOverriddenInspection.java
+++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/ComparableImplementedButEqualsNotOverriddenInspection.java
@@ -15,6 +15,7 @@
*/
package com.siyeh.ig.bugs;
+import com.google.common.annotations.VisibleForTesting;
import com.intellij.codeInspection.ProblemDescriptor;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.text.StringUtil;
@@ -39,6 +40,10 @@ import java.util.regex.Pattern;
import java.util.stream.Collectors;
public class ComparableImplementedButEqualsNotOverriddenInspection extends BaseInspection {
+ @VisibleForTesting
+ static final String ADD_NOTE_FIX_NAME = "Add 'ordering inconsistent with equals' JavaDoc note";
+ @VisibleForTesting
+ static final String GENERATE_EQUALS_FIX_NAME = "Generate 'equals()' method";
@Override
@NotNull
@@ -55,6 +60,10 @@ public class ComparableImplementedButEqualsNotOverriddenInspection extends BaseI
@NotNull
@Override
protected InspectionGadgetsFix[] buildFixes(Object... infos) {
+ if (infos[0] instanceof PsiAnonymousClass) {
+ return new InspectionGadgetsFix[] {new GenerateEqualsMethodFix()};
+ }
+
return new InspectionGadgetsFix[] {
new GenerateEqualsMethodFix(),
new AddNoteFix()
@@ -66,7 +75,7 @@ public class ComparableImplementedButEqualsNotOverriddenInspection extends BaseI
@NotNull
@Override
public String getFamilyName() {
- return "Generate 'equals()' method";
+ return GENERATE_EQUALS_FIX_NAME;
}
@Override
@@ -97,7 +106,7 @@ public class ComparableImplementedButEqualsNotOverriddenInspection extends BaseI
@NotNull
@Override
public String getFamilyName() {
- return "Add 'ordering inconsistent with equals' JavaDoc note";
+ return ADD_NOTE_FIX_NAME;
}
@Override
diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/bugs/comparable_implemented_but_equals_not_overridden/NoFixForAnonymousClass.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/bugs/comparable_implemented_but_equals_not_overridden/NoFixForAnonymousClass.java
new file mode 100644
index 000000000000..33f095722998
--- /dev/null
+++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/bugs/comparable_implemented_but_equals_not_overridden/NoFixForAnonymousClass.java
@@ -0,0 +1,9 @@
+abstract class A implements Comparable {
+ {
+ new A() {
+ public int compareTo(A a){
+ return 0;
+ }
+ };
+ }
+}
\ No newline at end of file
diff --git a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/bugs/ComparableImplementedButEqualsNotOverriddenInspectionTest.java b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/bugs/ComparableImplementedButEqualsNotOverriddenInspectionTest.java
index 9008c98e4d86..0dbd724bb10f 100644
--- a/plugins/InspectionGadgets/testsrc/com/siyeh/ig/bugs/ComparableImplementedButEqualsNotOverriddenInspectionTest.java
+++ b/plugins/InspectionGadgets/testsrc/com/siyeh/ig/bugs/ComparableImplementedButEqualsNotOverriddenInspectionTest.java
@@ -31,6 +31,12 @@ public class ComparableImplementedButEqualsNotOverriddenInspectionTest extends L
public void testAbstractClass3() { doTest(); }
public void testNote() { doTest(); }
+ public void testNoFixForAnonymousClass() {
+ doTest();
+ assertNotNull(myFixture.findSingleIntention(ComparableImplementedButEqualsNotOverriddenInspection.GENERATE_EQUALS_FIX_NAME));
+ assertEmpty(myFixture.filterAvailableIntentions(ComparableImplementedButEqualsNotOverriddenInspection.ADD_NOTE_FIX_NAME));
+ }
+
@Nullable
@Override
protected InspectionProfileEntry getInspection() {