Copied!
AbstractInterface
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 abstract afterTraverse(array $nodes)
 

Called once after traversal.

Return value semantics:

  • null: $nodes stays as-is
  • otherwise: $nodes is set to the return value
  • param \Node[] $nodes Array of nodes
  • return null|\Node[] Array of nodes
public abstract beforeTraverse(array $nodes)
 

Called once before traversal.

Return value semantics:

  • null: $nodes stays as-is
  • otherwise: $nodes is set to the return value
  • param \Node[] $nodes Array of nodes
  • return null|\Node[] Array of nodes
public abstract enterNode(PhpParser\Node $node)
 

Called when entering a node.

Return value semantics:

  • null => $node stays as-is
  • array (of Nodes) => The return value is merged into the parent array (at the position of the $node)
  • NodeVisitor::REMOVE_NODE => $node is removed from the parent array
  • NodeVisitor::REPLACE_WITH_NULL => $node is replaced with null
  • NodeVisitor::DONT_TRAVERSE_CHILDREN => Children of $node are not traversed. $node stays as-is
  • NodeVisitor::DONT_TRAVERSE_CURRENT_AND_CHILDREN => Further visitors for the current node are skipped, and its children are not traversed. $node stays as-is.
  • NodeVisitor::STOP_TRAVERSAL => Traversal is aborted. $node stays as-is
  • otherwise => $node is set to the return value
  • param \Node $node Node
  • return null|int|\Node|\Node[] Replacement node (or special return value)
public abstract leaveNode(PhpParser\Node $node)
 

Called when leaving a node.

Return value semantics:

  • null => $node stays as-is
  • NodeVisitor::REMOVE_NODE => $node is removed from the parent array
  • NodeVisitor::REPLACE_WITH_NULL => $node is replaced with null
  • NodeVisitor::STOP_TRAVERSAL => Traversal is aborted. $node stays as-is
  • array (of Nodes) => The return value is merged into the parent array (at the position of the $node)
  • otherwise => $node is set to the return value
  • param \Node $node Node
  • return null|int|\Node|\Node[] Replacement node (or special return value)
© 2024 Bruce Wells
Search Namespaces \ Classes
Configuration