2017-08-18 22:57:27 +02:00
|
|
|
<?php declare(strict_types=1);
|
2014-02-06 14:44:16 +01:00
|
|
|
|
|
|
|
namespace PhpParser;
|
|
|
|
|
|
|
|
interface NodeTraverserInterface
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Adds a visitor.
|
|
|
|
*
|
|
|
|
* @param NodeVisitor $visitor Visitor to add
|
|
|
|
*/
|
2018-01-10 19:07:41 +01:00
|
|
|
public function addVisitor(NodeVisitor $visitor);
|
2014-02-06 14:44:16 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Removes an added visitor.
|
|
|
|
*
|
|
|
|
* @param NodeVisitor $visitor
|
|
|
|
*/
|
2018-01-10 19:07:41 +01:00
|
|
|
public function removeVisitor(NodeVisitor $visitor);
|
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
|
|
|
|
*/
|
2018-01-10 19:07:41 +01:00
|
|
|
public function traverse(array $nodes) : array;
|
2014-02-06 14:44:16 +01:00
|
|
|
}
|