resources.report.rules.pmd.PositionLiteralsFirstInComparisons.html Maven / Gradle / Ivy
PositionLiteralsFirstInComparisons
PositionLiteralsFirstInComparisons
Position literals first in comparisons, if the second argument is null then NullPointerExceptions can be avoided, they will just return false.
//PrimaryExpression[
PrimaryPrefix[Name
[
(ends-with(@Image, '.equals'))
]
]
[
(../PrimarySuffix/Arguments/ArgumentList/Expression/PrimaryExpression/PrimaryPrefix/Literal[@StringLiteral='true'])
and
( count(../PrimarySuffix/Arguments/ArgumentList/Expression) = 1 )
]
]
[not(ancestor::Expression/ConditionalAndExpression//EqualityExpression[@Image='!=']//NullLiteral)]
[not(ancestor::Expression/ConditionalOrExpression//EqualityExpression[@Image='==']//NullLiteral)]
Example(s):
class Foo {
boolean bar(String x) {
return x.equals("2"); // should be "2".equals(x)
}
}