mirror of
https://github.com/barryvdh/laravel-ide-helper.git
synced 2026-08-18 18:13:11 +00:00
Avoid code duplication in constructors
This commit is contained in:
+16
-23
@@ -17,37 +17,30 @@ class Macro extends Method
|
||||
* @param array $interfaces
|
||||
*/
|
||||
public function __construct(
|
||||
\ReflectionFunctionAbstract $method,
|
||||
$method,
|
||||
$alias,
|
||||
$class,
|
||||
$methodName = null,
|
||||
$interfaces = array()
|
||||
) {
|
||||
$this->method = $method;
|
||||
$this->interfaces = $interfaces;
|
||||
$this->name = $methodName ?: $method->name;
|
||||
$this->real_name = $method->name;
|
||||
$this->namespace = $class->getNamespaceName();
|
||||
parent::__construct($method, $alias, $class, $methodName, $interfaces);
|
||||
}
|
||||
|
||||
//Create a DocBlock and serializer instance
|
||||
/**
|
||||
* @param \ReflectionFunctionAbstract $method
|
||||
*/
|
||||
protected function initPhpDoc($method)
|
||||
{
|
||||
$this->phpdoc = new DocBlock($method);
|
||||
}
|
||||
|
||||
//Normalize the description and inherit the docs from parents/interfaces
|
||||
try {
|
||||
$this->normalizeParams($this->phpdoc);
|
||||
$this->normalizeReturn($this->phpdoc);
|
||||
$this->normalizeDescription($this->phpdoc);
|
||||
} catch (\Exception $e) {
|
||||
}
|
||||
|
||||
//Get the parameters, including formatted default values
|
||||
$this->getParameters($method);
|
||||
|
||||
//Make the method static
|
||||
$this->phpdoc->appendTag(Tag::createInstance('@static', $this->phpdoc));
|
||||
|
||||
//Reference the 'real' function in the declaringclass
|
||||
/**
|
||||
* @param \ReflectionFunctionAbstract $method
|
||||
* @param \ReflectionClass $class
|
||||
*/
|
||||
protected function initClassDefinedProperties($method, \ReflectionClass $class)
|
||||
{
|
||||
$this->namespace = $class->getNamespaceName();
|
||||
$this->declaringClassName = '\\' . ltrim($class->name, '\\');
|
||||
$this->root = '\\' . ltrim($class->getName(), '\\');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user