mirror of
https://github.com/rectorphp/rector.git
synced 2024-06-04 02:10:51 +00:00
4c6da2c4bf
* move file to templates, to remove confusion in the root * use stable symplify * [Laravel] Add AddParentBootToModelClassMethodRector * [ci-review] Generate Rector & Nodes documentation * [ci-review] propagate monorepo dependencies * [ci-review] Rector Rectify Co-authored-by: rector-bot <tomas@getrector.org>
44 lines
973 B
PHP
44 lines
973 B
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
namespace Rector\Nette\NodeAnalyzer;
|
|
|
|
use PhpParser\Node;
|
|
use PhpParser\Node\Expr;
|
|
use PhpParser\Node\Expr\StaticCall;
|
|
use Rector\NodeNameResolver\NodeNameResolver;
|
|
|
|
final class StaticCallAnalyzer
|
|
{
|
|
/**
|
|
* @var 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);
|
|
}
|
|
}
|