Copied!
CloneableInstantiable
Constants
public PhpParser\NodeTraverser::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\NodeTraverser::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\NodeTraverser::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\NodeTraverser::STOP_TRAVERSAL = 2
 

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

The afterTraverse() method will still be invoked.

Methods
public __construct()
public addVisitor(PhpParser\NodeVisitor $visitor)
 

Adds a visitor.

  • param \NodeVisitor $visitor Visitor to add
public removeVisitor(PhpParser\NodeVisitor $visitor)
 

Removes an added visitor.

  • param \NodeVisitor $visitor
public traverse(array $nodes) : array
 

Traverses an array of nodes using the registered visitors.

  • param \Node[] $nodes Array of nodes
  • return \Node[] Traversed array of nodes
Properties
protected $stopTraversal = NULL
 
  • var bool Whether traversal should be stopped
protected $visitors = []
 
  • var \NodeVisitor[] Visitors
Methods
protected traverseArray(array $nodes) : array
 

Recursively traverse array (usually of nodes).

  • param array $nodes Array to traverse
  • return array Result of traversal (may be original array or changed one)
protected traverseNode(PhpParser\Node $node) : PhpParser\Node
 

Recursively traverse a node.

  • param \Node $node Node to traverse.
  • return \Node Result of traversal (may be original node or new one)
Methods
private ensureReplacementReasonable( $old, $new)
© 2023 Bruce Wells
Search Namespaces \ Classes
Configuration