2017-08-18 22:57:27 +02:00
|
|
|
<?php declare(strict_types=1);
|
2014-02-06 14:44:16 +01:00
|
|
|
|
|
|
|
namespace PhpParser;
|
|
|
|
|
2022-08-28 22:57:06 +02:00
|
|
|
interface NodeTraverserInterface {
|
2014-02-06 14:44:16 +01:00
|
|
|
/**
|
|
|
|
* Adds a visitor.
|
|
|
|
*
|
|
|
|
* @param NodeVisitor $visitor Visitor to add
|
|
|
|
*/
|
2022-09-11 17:51:59 +02:00
|
|
|
public function addVisitor(NodeVisitor $visitor): void;
|
2014-02-06 14:44:16 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Removes an added visitor.
|
|
|
|
*/
|
2022-09-11 17:51:59 +02:00
|
|
|
public function removeVisitor(NodeVisitor $visitor): void;
|
2014-02-06 14:44:16 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Traverses an array of nodes using the registered visitors.
|
|
|
|
*
|
|
|
|
* @param Node[] $nodes Array of nodes
|
|
|
|
*
|
|
|
|
* @return Node[] Traversed array of nodes
|
|
|
|
*/
|
2022-08-28 22:57:06 +02:00
|
|
|
public function traverse(array $nodes): array;
|
2014-02-06 14:44:16 +01:00
|
|
|
}
|