Class SuperCloneCheck

  • All Implemented Interfaces:
    Configurable, Contextualizable

    public class SuperCloneCheck
    extends AbstractSuperCheck

    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="SuperClone"/>
     

    Example:

     class A {
    
      public Object clone() { // OK
       return super.clone();
      }
     }
    
     class B {
     private int b;
    
      public B clone() { // violation, does not call super.clone()
       B other = new B();
       other.b = this.b;
       return other;
      }
     }
    
     class C {
    
      public C clone() { // OK
       return (C) super.clone();
      }
     }
     

    Parent is com.puppycrawl.tools.checkstyle.TreeWalker

    Violation Message Keys:

    • missing.super.call
    Since:
    3.2