Copied!

Visitor that connects a child node to its parent node as well as its sibling nodes.

On the child node, the parent node can be accessed through $node->getAttribute('parent'), the previous node can be accessed through $node->getAttribute('previous'), and the next node can be accessed through $node->getAttribute('next').

CloneableFinalInstantiable
Constants
public PhpParser\NodeVisitor::DONT_TRAVERSE_CHILDREN = 1
 

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.

public PhpParser\NodeVisitor::DONT_TRAVERSE_CURRENT_AND_CHILDREN = 4
 

If NodeVisitor::enterNode() returns DONT_TRAVERSE_CURRENT_AND_CHILDREN, child nodes of the current node will not be traversed for any visitors.

For subsequent visitors enterNode() will not be called as well. leaveNode() will be invoked for visitors that has enterNode() method invoked.

public PhpParser\NodeVisitor::REMOVE_NODE = 3
 

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.

public PhpParser\NodeVisitor::REPLACE_WITH_NULL = 5
 

If NodeVisitor::enterNode() or NodeVisitor::leaveNode() returns REPLACE_WITH_NULL, the node will be replaced with null. This is not a legal return value if the node is part of an array, rather than another node.

public PhpParser\NodeVisitor::STOP_TRAVERSAL = 2
 

If NodeVisitor::enterNode() or NodeVisitor::leaveNode() returns STOP_TRAVERSAL, traversal is aborted.

The afterTraverse() method will still be invoked.

Methods
public PhpParser\NodeVisitorAbstract::afterTraverse(array $nodes)
public beforeTraverse(array $nodes)
public enterNode(PhpParser\Node $node)
public leaveNode(PhpParser\Node $node)
Properties
private $previous = NULL
 
  • var ?\Node
private array $stack = []
 
  • var \Node[]
© 2024 Bruce Wells
Search Namespaces \ Classes
Configuration