* @license MIT */ class MagicClone extends MagicMethodGenerator { /** * Constructor */ public function __construct( ReflectionClass $originalClass, PropertyGenerator $prefixInterceptors, PropertyGenerator $suffixInterceptors ) { parent::__construct($originalClass, '__clone'); $this->setBody( InterceptorGenerator::createInterceptedMethodBody( $originalClass->hasMethod('__clone') ? '$returnValue = parent::__clone();' : '$returnValue = null;', $this, $prefixInterceptors, $suffixInterceptors ) ); } }