mirror of
https://github.com/rectorphp/rector.git
synced 2025-02-24 19:53:14 +01:00
make tests pass
This commit is contained in:
parent
4a14e13f16
commit
43b91b7086
@ -85,7 +85,10 @@ final class StaticMethodCallAnalyzer
|
||||
private function resolveNodeType(StaticCall $staticCallNode): ?string
|
||||
{
|
||||
if ($staticCallNode->class instanceof Name) {
|
||||
return $staticCallNode->class->toString();
|
||||
$class = $staticCallNode->class->toString();
|
||||
if ($class === 'parent') {
|
||||
return $staticCallNode->class->getAttribute(Attribute::PARENT_CLASS_NAME);
|
||||
}
|
||||
}
|
||||
|
||||
if ($staticCallNode->class instanceof Variable) {
|
||||
|
@ -9,6 +9,7 @@ use PhpParser\Node\Expr\StaticCall;
|
||||
use PhpParser\Node\Stmt\ClassMethod;
|
||||
use Rector\NodeAnalyzer\ClassMethodAnalyzer;
|
||||
use Rector\NodeAnalyzer\MethodCallAnalyzer;
|
||||
use Rector\NodeAnalyzer\StaticMethodCallAnalyzer;
|
||||
use Rector\Rector\AbstractRector;
|
||||
|
||||
final class ArgumentReplacerRector extends AbstractRector
|
||||
@ -31,6 +32,10 @@ final class ArgumentReplacerRector extends AbstractRector
|
||||
* @var ClassMethodAnalyzer
|
||||
*/
|
||||
private $classMethodAnalyzer;
|
||||
/**
|
||||
* @var StaticMethodCallAnalyzer
|
||||
*/
|
||||
private $staticMethodCallAnalyzer;
|
||||
|
||||
/**
|
||||
* @param mixed[] $argumentChangesByMethodAndType
|
||||
@ -38,11 +43,13 @@ final class ArgumentReplacerRector extends AbstractRector
|
||||
public function __construct(
|
||||
array $argumentChangesByMethodAndType,
|
||||
MethodCallAnalyzer $methodCallAnalyzer,
|
||||
ClassMethodAnalyzer $classMethodAnalyzer
|
||||
ClassMethodAnalyzer $classMethodAnalyzer,
|
||||
StaticMethodCallAnalyzer $staticMethodCallAnalyzer
|
||||
) {
|
||||
$this->argumentChangesMethodAndClass = $argumentChangesByMethodAndType;
|
||||
$this->methodCallAnalyzer = $methodCallAnalyzer;
|
||||
$this->classMethodAnalyzer = $classMethodAnalyzer;
|
||||
$this->staticMethodCallAnalyzer = $staticMethodCallAnalyzer;
|
||||
}
|
||||
|
||||
public function isCandidate(Node $node): bool
|
||||
@ -103,6 +110,10 @@ final class ArgumentReplacerRector extends AbstractRector
|
||||
return $argumentChangesByMethod[$node->name->toString()];
|
||||
}
|
||||
|
||||
if ($this->staticMethodCallAnalyzer->isTypeAndMethods($node, $type, $methods)) {
|
||||
return $argumentChangesByMethod[$node->name->toString()];
|
||||
}
|
||||
|
||||
if ($this->classMethodAnalyzer->isTypeAndMethods($node, $type, $methods)) {
|
||||
return $argumentChangesByMethod[$node->name->toString()];
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user