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

resources.report.rules.pmd.ProperCloneImplementation.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.1.1
Show newest version


ProperCloneImplementation


ProperCloneImplementation

Object clone() should be implemented with super.clone().

This rule is defined by the following XPath expression:

                 
//MethodDeclarator
[@Image = 'clone']
[count(FormalParameters/*) = 0]
[count(../Block//*[
    (self::AllocationExpression) and
    (./ClassOrInterfaceType/@Image = ancestor::
ClassOrInterfaceDeclaration[1]/@Image)
  ])> 0
]
                
             

Example:

                
 
class Foo{
    public Object clone(){
        return new Foo(); // This is bad
    }
}

     
            




© 2015 - 2024 Weber Informatics LLC | Privacy Policy