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

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

Go to download

Sanity4J was created to simplify running multiple static code analysis tools on the Java projects. It provides a single entry point to run all the selected tools and produce a consolidated report, which presents all findings in an easily accessible manner.

There is a newer version: 1.8.2
Show newest version


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)
  }
}






© 2015 - 2024 Weber Informatics LLC | Privacy Policy