mirror of
https://github.com/barryvdh/laravel-ide-helper.git
synced 2026-08-17 17:47:13 +00:00
fix: warning when call the instance method (#735)
This commit is contained in:
committed by
Barry vd. Heuvel
parent
3d7f124089
commit
190bf07c05
@@ -36,7 +36,10 @@ namespace <?= $namespace == '__root' ? '' : trim($namespace, '\\') ?> {
|
||||
//Method inherited from <?= $method->getDeclaringClass() ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?= $method->shouldReturn() ? 'return ': '' ?><?= $method->getRoot() ?>::<?= $method->getRealName() ?>(<?= $method->getParams() ?>);
|
||||
<?php if($method->isInstanceCall()):?>
|
||||
/** @var <?=$method->getRoot()?> $instance */
|
||||
<?php endif?>
|
||||
<?= $method->shouldReturn() ? 'return ': '' ?><?= $method->getRootMethodCall() ?>;
|
||||
}
|
||||
<?php endforeach; ?>
|
||||
}
|
||||
@@ -58,7 +61,10 @@ namespace <?= $namespace == '__root' ? '' : trim($namespace, '\\') ?> {
|
||||
//Method inherited from <?= $method->getDeclaringClass() ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?= $method->shouldReturn() ? 'return ': '' ?><?= $method->getRoot() ?>::<?= $method->getRealName() ?>(<?= $method->getParams() ?>);
|
||||
<?php if($method->isInstanceCall()):?>
|
||||
/** @var <?=$method->getRoot()?> $instance */
|
||||
<?php endif?>
|
||||
<?= $method->shouldReturn() ? 'return ': '' ?><?= $method->getRootMethodCall() ?>;
|
||||
}
|
||||
<?php endforeach; ?>
|
||||
<?php endif; ?>}
|
||||
|
||||
+28
-3
@@ -34,6 +34,7 @@ class Method
|
||||
protected $interfaces = array();
|
||||
protected $real_name;
|
||||
protected $return = null;
|
||||
protected $root;
|
||||
|
||||
/**
|
||||
* @param \ReflectionMethod|\ReflectionFunctionAbstract $method
|
||||
@@ -50,6 +51,9 @@ class Method
|
||||
$this->real_name = $method->isClosure() ? $this->name : $method->name;
|
||||
$this->initClassDefinedProperties($method, $class);
|
||||
|
||||
//Reference the 'real' function in the declaring class
|
||||
$this->root = '\\' . ltrim($class->getName(), '\\');
|
||||
|
||||
//Create a DocBlock and serializer instance
|
||||
$this->initPhpDoc($method);
|
||||
|
||||
@@ -66,9 +70,6 @@ class Method
|
||||
|
||||
//Make the method static
|
||||
$this->phpdoc->appendTag(Tag::createInstance('@static', $this->phpdoc));
|
||||
|
||||
//Reference the 'real' function in the declaring class
|
||||
$this->root = '\\' . ltrim($class->getName(), '\\');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -110,6 +111,26 @@ class Method
|
||||
return $this->root;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function isInstanceCall()
|
||||
{
|
||||
return ! ($this->method->isClosure() || $this->method->isStatic());
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getRootMethodCall()
|
||||
{
|
||||
if ($this->isInstanceCall()) {
|
||||
return "\$instance->{$this->getRealName()}({$this->getParams()})";
|
||||
} else {
|
||||
return "{$this->getRoot()}::{$this->getRealName()}({$this->getParams()})";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the docblock for this method
|
||||
*
|
||||
@@ -243,6 +264,10 @@ class Method
|
||||
// Set the changed content
|
||||
$tag->setContent($returnValue . ' ' . $tag->getDescription());
|
||||
$this->return = $returnValue;
|
||||
|
||||
if ($tag->getType() === '$this') {
|
||||
$tag->setType($this->root);
|
||||
}
|
||||
} else {
|
||||
$this->return = null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user