diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/CovariantEqualsInspection.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/CovariantEqualsInspection.java index 9c4217f3c5bb..f5e8f5d2838a 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/CovariantEqualsInspection.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/bugs/CovariantEqualsInspection.java @@ -50,7 +50,9 @@ public class CovariantEqualsInspection extends BaseInspection { @Override public void visitMethod(@NotNull PsiMethod method) { - // note: no call to super + if (method.hasModifierProperty(PsiModifier.STATIC)) { + return; + } final String name = method.getName(); if (!HardcodedMethodConstants.EQUALS.equals(name)) { return; @@ -74,7 +76,7 @@ public class CovariantEqualsInspection extends BaseInspection { return; } } - if (SuperMethodsSearch.search(method, null, true, false).findFirst() != null) { + if (MethodUtils.hasSuper(method)) { return; } registerMethodError(method); diff --git a/plugins/InspectionGadgets/src/inspectionDescriptions/CovariantEquals.html b/plugins/InspectionGadgets/src/inspectionDescriptions/CovariantEquals.html index 817d82923420..d3f59353eb34 100644 --- a/plugins/InspectionGadgets/src/inspectionDescriptions/CovariantEquals.html +++ b/plugins/InspectionGadgets/src/inspectionDescriptions/CovariantEquals.html @@ -1,8 +1,8 @@
-Reports a class having a equals() -method taking an argument other than java.lang.Object, if the class does not have a equals() method -which does take java.lang.Object as its argument. Normally, this is a mistake. +Reports equals() methods taking an argument type other than java.lang.Object. +Only reports if the containing class does not have another equals() method +which does take java.lang.Object as its argument type. Normally, this is a mistake.
diff --git a/plugins/InspectionGadgets/test/com/siyeh/igtest/bugs/covariant_equals/CovariantEquals.java b/plugins/InspectionGadgets/test/com/siyeh/igtest/bugs/covariant_equals/CovariantEquals.java
index 8c53ae024b66..ceba7e37958a 100644
--- a/plugins/InspectionGadgets/test/com/siyeh/igtest/bugs/covariant_equals/CovariantEquals.java
+++ b/plugins/InspectionGadgets/test/com/siyeh/igtest/bugs/covariant_equals/CovariantEquals.java
@@ -33,4 +33,13 @@ class E {
boolean