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

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



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 - 2025 Weber Informatics LLC | Privacy Policy