12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- <?php
- namespace PhpParser;
- interface NodeTraverserInterface
- {
- /**
- * If NodeVisitor::enterNode() returns DONT_TRAVERSE_CHILDREN, child nodes
- * of the current node will not be traversed for any visitors.
- *
- * For subsequent visitors enterNode() will still be called on the current
- * node and leaveNode() will also be invoked for the current node.
- */
- const DONT_TRAVERSE_CHILDREN = 1;
- /**
- * If NodeVisitor::leaveNode() returns REMOVE_NODE for a node that occurs
- * in an array, it will be removed from the array.
- *
- * For subsequent visitors leaveNode() will still be invoked for the
- * removed node.
- */
- const REMOVE_NODE = false;
- /**
- * Adds a visitor.
- *
- * @param NodeVisitor $visitor Visitor to add
- */
- function addVisitor(NodeVisitor $visitor);
- /**
- * Removes an added visitor.
- *
- * @param NodeVisitor $visitor
- */
- function removeVisitor(NodeVisitor $visitor);
- /**
- * Traverses an array of nodes using the registered visitors.
- *
- * @param Node[] $nodes Array of nodes
- *
- * @return Node[] Traversed array of nodes
- */
- function traverse(array $nodes);
- }
|