mirror of
https://github.com/rectorphp/rector.git
synced 2024-06-08 04:10:51 +00:00
dd1c4722cb
af0fc79863
Fix preload.php order to included firstly used classes first, to avoid missing parent bugs (#929)
31 lines
879 B
PHP
31 lines
879 B
PHP
<?php
|
|
|
|
declare (strict_types=1);
|
|
namespace RectorPrefix20210928\Symplify\Astral\NodeTraverser;
|
|
|
|
use PhpParser\Node;
|
|
use PhpParser\NodeTraverser;
|
|
use RectorPrefix20210928\Symplify\Astral\NodeVisitor\CallableNodeVisitor;
|
|
final class SimpleCallableNodeTraverser
|
|
{
|
|
/**
|
|
* @param Node|Node[]|null $nodes
|
|
*/
|
|
public function traverseNodesWithCallable($nodes, callable $callable) : void
|
|
{
|
|
if ($nodes === null) {
|
|
return;
|
|
}
|
|
if ($nodes === []) {
|
|
return;
|
|
}
|
|
if (!\is_array($nodes)) {
|
|
$nodes = [$nodes];
|
|
}
|
|
$nodeTraverser = new \PhpParser\NodeTraverser();
|
|
$callableNodeVisitor = new \RectorPrefix20210928\Symplify\Astral\NodeVisitor\CallableNodeVisitor($callable);
|
|
$nodeTraverser->addVisitor($callableNodeVisitor);
|
|
$nodeTraverser->traverse($nodes);
|
|
}
|
|
}
|