CloneableInstantiable
ImplementsPhpParser\NodeTraverserInterface
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.

    public removeVisitor(PhpParser\NodeVisitor $visitor)
     
    Removes an added visitor.

      public traverse(array $nodes) : array
       
      Traverses an array of nodes using the registered visitors.

      • return Node[] Traversed array of nodes
      Properties
      protected $stopTraversal
       


      • var bool Whether traversal should be stopped
      protected $visitors
       


      • var NodeVisitor[] Visitors
      Methods
      protected traverseArray(array $nodes) : array
       
      Recursively traverse array (usually of nodes).

      • return array Result of traversal (may be original array or changed one)
      protected traverseNode(PhpParser\Node $node) : PhpParser\Node
       
      Recursively traverse a node.

      • return PhpParser\Node Result of traversal (may be original node or new one)
      Methods
      private ensureReplacementReasonable( $old, $new)
      © 2020 Bruce Wells
      Search Namespaces \ Classes
      ConfigurationNumbers (0-9.) only