* @license MIT */ class MagicSet extends MagicMethodGenerator { /** * Constructor * @param ReflectionClass $originalClass * @param \Zend\Code\Generator\PropertyGenerator $adapterProperty * * @throws \Zend\Code\Generator\Exception\InvalidArgumentException */ public function __construct(ReflectionClass $originalClass, PropertyGenerator $adapterProperty) { parent::__construct( $originalClass, '__set', [new ParameterGenerator('name'), new ParameterGenerator('value')] ); $this->setDocBlock('@param string \$name\n@param mixed \$value'); $this->setBody( '$return = $this->' . $adapterProperty->getName() . '->call(' . var_export($originalClass->getName(), true) . ', \'__set\', array($name, $value));' . "\n\n" . 'return $return;' ); } }