2018-06-13 18:35:28 +00:00
|
|
|
<?php declare(strict_types=1);
|
2018-02-01 20:01:12 +00:00
|
|
|
|
|
|
|
namespace PhpParser;
|
|
|
|
|
|
|
|
interface NodeTraverserInterface
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Adds a visitor.
|
|
|
|
*
|
|
|
|
* @param NodeVisitor $visitor Visitor to add
|
|
|
|
*/
|
2018-06-13 18:35:28 +00:00
|
|
|
public function addVisitor(NodeVisitor $visitor);
|
2018-02-01 20:01:12 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Removes an added visitor.
|
|
|
|
*
|
|
|
|
* @param NodeVisitor $visitor
|
|
|
|
*/
|
2018-06-13 18:35:28 +00:00
|
|
|
public function removeVisitor(NodeVisitor $visitor);
|
2018-02-01 20:01:12 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Traverses an array of nodes using the registered visitors.
|
|
|
|
*
|
|
|
|
* @param Node[] $nodes Array of nodes
|
|
|
|
*
|
|
|
|
* @return Node[] Traversed array of nodes
|
|
|
|
*/
|
2018-06-13 18:35:28 +00:00
|
|
|
public function traverse(array $nodes) : array;
|
2018-02-01 20:01:12 +00:00
|
|
|
}
|