* @license MIT */ class MagicMethodGenerator extends MethodGenerator { /** * @param ReflectionClass $originalClass * @param string $name * @param array $parameters */ public function __construct(ReflectionClass $originalClass, $name, array $parameters = array()) { parent::__construct( $name, $parameters, static::FLAG_PUBLIC, null, $originalClass->hasMethod($name) ? '{@inheritDoc}' : null ); $this->setReturnsReference(strtolower($name) === '__get'); if ($originalClass->hasMethod($name)) { $this->setReturnsReference($originalClass->getMethod($name)->returnsReference()); } } }