rector/packages/PhpDocParser/NodeTraverser/SimpleCallableNodeTraverser.php
Tomas Votruba 93080b5520 Updated Rector to commit b7a5fefedc9d1a32c1f238a6a8c9b89b88e7d21c
b7a5fefedc [DeadCode] Add RemoveUselessReturnExprInConstructRector (#5158)
2023-10-12 10:26:14 +00:00

30 lines
800 B
PHP

<?php
declare (strict_types=1);
namespace Rector\PhpDocParser\NodeTraverser;
use PhpParser\Node;
use PhpParser\NodeTraverser;
use Rector\PhpDocParser\NodeVisitor\CallableNodeVisitor;
/**
* @api
*/
final class SimpleCallableNodeTraverser
{
/**
* @param callable(Node): (int|Node|null|Node[]) $callable
* @param Node|Node[]|null $node
*/
public function traverseNodesWithCallable($node, callable $callable) : void
{
if ($node === null || $node === []) {
return;
}
$nodeTraverser = new NodeTraverser();
$callableNodeVisitor = new CallableNodeVisitor($callable);
$nodeTraverser->addVisitor($callableNodeVisitor);
$nodes = $node instanceof Node ? [$node] : $node;
$nodeTraverser->traverse($nodes);
}
}