All Downloads are FREE. Search and download functionalities are using the official Maven repository.

resources.report.rules.pmd.PositionLiteralsFirstInCaseInsensitiveComparisons.html Maven / Gradle / Ivy



PositionLiteralsFirstInCaseInsensitiveComparisons

PositionLiteralsFirstInCaseInsensitiveComparisons

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, '.equalsIgnoreCase'))
                ]
        ]
        [
                   (../PrimarySuffix/Arguments/ArgumentList/Expression/PrimaryExpression/PrimaryPrefix/Literal)
    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.equalsIgnoreCase("2"); // should be "2".equalsIgnoreCase(x)
  }
}






© 2015 - 2024 Weber Informatics LLC | Privacy Policy