Since Checkstyle 3.2
Checks that an overriding clone() method invokes
super.clone(). Does not check native methods, as
they have no possible java defined implementation.
Reference: Object.clone().
To configure the check:
<module name="Checker">
<module name="TreeWalker">
<module name="SuperClone"/>
</module>
</module>
Example:
class Example1 {
public Object clone() throws CloneNotSupportedException {
return super.clone();
}
}
class SuperCloneB {
private int b;
// violation below, "Method 'clone' should call 'super.clone'."
public SuperCloneB clone() {
SuperCloneB other = new SuperCloneB();
other.b = this.b;
return other;
}
}
class SuperCloneC {
public SuperCloneC clone() throws CloneNotSupportedException {
return (SuperCloneC) super.clone();
}
}
All messages can be customized if the default message doesn't suit you. Please see the documentation to learn how to.
com.puppycrawl.tools.checkstyle.checks.coding