rector/rules/nette/src/NodeAnalyzer/StaticCallAnalyzer.php
Tomas Votruba 4c6da2c4bf
[Laravel 5.7] Add parent boot rule (#4580)
* 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>
2020-11-11 17:09:57 +00:00

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);
}
}