diff --git a/pmd-java/src/main/resources/rulesets/java/naming.xml b/pmd-java/src/main/resources/rulesets/java/naming.xml index 2cebf0aa81..ec3bf7a720 100644 --- a/pmd-java/src/main/resources/rulesets/java/naming.xml +++ b/pmd-java/src/main/resources/rulesets/java/naming.xml @@ -318,6 +318,7 @@ intention to override the equals(Object) method. count(FormalParameters/*) = 2 and ../ResultType/Type/PrimitiveType[@Image = 'boolean'] and FormalParameters//ClassOrInterfaceType[@Image = 'Object' or @Image = 'java.lang.Object'] + and not(../../Annotation/MarkerAnnotation/Name[@Image='Override']) ) ] | //MethodDeclarator[@Image = 'equal'] diff --git a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/naming/xml/SuspiciousEqualsMethodName.xml b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/naming/xml/SuspiciousEqualsMethodName.xml index 6055532e09..283d460911 100644 --- a/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/naming/xml/SuspiciousEqualsMethodName.xml +++ b/pmd-java/src/test/resources/net/sourceforge/pmd/lang/java/rule/naming/xml/SuspiciousEqualsMethodName.xml @@ -33,4 +33,17 @@ public class Foo { } ]]> + + + #1431 SuspiciousEqualsMethodName false positive + 0 + + diff --git a/src/site/markdown/overview/changelog.md b/src/site/markdown/overview/changelog.md index 81cf73fd8d..f664972581 100644 --- a/src/site/markdown/overview/changelog.md +++ b/src/site/markdown/overview/changelog.md @@ -23,6 +23,8 @@ * [#1438](https://sourceforge.net/p/pmd/bugs/1438/): UseNotifyAllInsteadOfNotify gives false positive * java-finalizers/AvoidCallingFinalize * [#1440](https://sourceforge.net/p/pmd/bugs/1440/): NPE in AvoidCallingFinalize +* java-naming/SuspiciousEqualsMethodName + * [#1431](https://sourceforge.net/p/pmd/bugs/1431/): SuspiciousEqualsMethodName false positive * java-optimizations/RedundantFieldInitializer * [#1443](https://sourceforge.net/p/pmd/bugs/1443/): RedundantFieldInitializer: False positive for small floats * java-unusedcode/UnusedPrivateField