%PDF- %PDF-
Direktori : /home/vacivi36/vacivitta.com.br/vendor/rector/rector/vendor/nette/neon/src/Neon/ |
Current File : /home/vacivi36/vacivitta.com.br/vendor/rector/rector/vendor/nette/neon/src/Neon/Traverser.php |
<?php /** * This file is part of the Nette Framework (https://nette.org) * Copyright (c) 2004 David Grudl (https://davidgrudl.com) */ declare (strict_types=1); namespace RectorPrefix20211231\Nette\Neon; /** @internal */ final class Traverser { /** @var callable(Node): ?Node */ private $callback; /** @param callable(Node): ?Node $callback */ public function traverse(\RectorPrefix20211231\Nette\Neon\Node $node, callable $callback) : \RectorPrefix20211231\Nette\Neon\Node { $this->callback = $callback; return $this->traverseNode($node); } private function traverseNode(\RectorPrefix20211231\Nette\Neon\Node $node) : \RectorPrefix20211231\Nette\Neon\Node { $node = ($this->callback)($node) ?? $node; foreach ($node->getSubNodes() as &$subnode) { $subnode = $this->traverseNode($subnode); } return $node; } }