%PDF- %PDF-
Direktori : /home/silvzytp/dsr_code/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/ |
Current File : /home/silvzytp/dsr_code/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php |
<?php declare(strict_types=1); namespace PhpParser\NodeVisitor; use PhpParser\Node; use PhpParser\NodeVisitorAbstract; /** * This visitor can be used to find and collect all nodes satisfying some criterion determined by * a filter callback. */ class FindingVisitor extends NodeVisitorAbstract { /** @var callable Filter callback */ protected $filterCallback; /** @var Node[] Found nodes */ protected $foundNodes; public function __construct(callable $filterCallback) { $this->filterCallback = $filterCallback; } /** * Get found nodes satisfying the filter callback. * * Nodes are returned in pre-order. * * @return Node[] Found nodes */ public function getFoundNodes() : array { return $this->foundNodes; } public function beforeTraverse(array $nodes) { $this->foundNodes = []; return null; } public function enterNode(Node $node) { $filterCallback = $this->filterCallback; if ($filterCallback($node)) { $this->foundNodes[] = $node; } return null; } }