mirror of
https://github.com/rectorphp/rector.git
synced 2024-06-08 20:22:24 +00:00
420929251c
17257b860a
remove duplicated test
38 lines
1014 B
PHP
38 lines
1014 B
PHP
<?php
|
|
|
|
declare (strict_types=1);
|
|
namespace Rector\Laravel\NodeAnalyzer;
|
|
|
|
use PhpParser\Node;
|
|
use PhpParser\Node\Expr;
|
|
use PhpParser\Node\Expr\StaticCall;
|
|
use Rector\NodeNameResolver\NodeNameResolver;
|
|
final class StaticCallAnalyzer
|
|
{
|
|
/**
|
|
* @readonly
|
|
* @var \Rector\NodeNameResolver\NodeNameResolver
|
|
*/
|
|
private $nodeNameResolver;
|
|
public function __construct(NodeNameResolver $nodeNameResolver)
|
|
{
|
|
$this->nodeNameResolver = $nodeNameResolver;
|
|
}
|
|
public function isParentCallNamed(Node $node, string $desiredMethodName) : bool
|
|
{
|
|
if (!$node instanceof StaticCall) {
|
|
return \false;
|
|
}
|
|
if ($node->class instanceof Expr) {
|
|
return \false;
|
|
}
|
|
if (!$this->nodeNameResolver->isName($node->class, 'parent')) {
|
|
return \false;
|
|
}
|
|
if ($node->name instanceof Expr) {
|
|
return \false;
|
|
}
|
|
return $this->nodeNameResolver->isName($node->name, $desiredMethodName);
|
|
}
|
|
}
|