Affects PMD Version: 6.30.0-SNAPSHOT
Rule: CompareObjectsWithEquals
Description:
From #2871 (comment)
Code Sample demonstrating the issue:
See https://chunk.io/pmd/fc7db65b2c6a46eca4c9a0c3012482e2/diff/checkstyle/index.html#A111
import java.math.BigInteger;
public class Foo {
private BigInteger field = new BigInteger("10");
private BigInteger field2 = new BigInteger("20");
public boolean check(final BigInteger param) {
final BigInteger other = new BigInteger("20");
return (field == null
|| param != field // warning expected: Use equals() to compare object references.
&& other != field) // warning expected: Use equals() to compare object references.
&& param.testBit(field2.intValue())
&& other.testBit(field2.intValue());
}
}
Expected outcome:
- Is PMD missing to report a violation, where there should be one? -> false-negative
Running PMD through: regression-tester
Affects PMD Version: 6.30.0-SNAPSHOT
Rule: CompareObjectsWithEquals
Description:
From #2871 (comment)
Code Sample demonstrating the issue:
See https://chunk.io/pmd/fc7db65b2c6a46eca4c9a0c3012482e2/diff/checkstyle/index.html#A111
Expected outcome:
Running PMD through: regression-tester