60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace PhpParser;
 | |
| 
 | |
| interface NodeVisitor
 | |
| {
 | |
|     /**
 | |
|      * 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 function beforeTraverse(array $nodes);
 | |
| 
 | |
|     /**
 | |
|      * Called when entering a node.
 | |
|      *
 | |
|      * Return value semantics:
 | |
|      *  * null:      $node stays as-is
 | |
|      *  * otherwise: $node is set to the return value
 | |
|      *
 | |
|      * @param Node $node Node
 | |
|      *
 | |
|      * @return null|Node Node
 | |
|      */
 | |
|     public function enterNode(Node $node);
 | |
| 
 | |
|     /**
 | |
|      * Called when leaving a node.
 | |
|      *
 | |
|      * Return value semantics:
 | |
|      *  * null:      $node stays as-is
 | |
|      *  * false:     $node is removed from the parent array
 | |
|      *  * array:     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|Node|false|Node[] Node
 | |
|      */
 | |
|     public function leaveNode(Node $node);
 | |
| 
 | |
|     /**
 | |
|      * 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 function afterTraverse(array $nodes);
 | |
| } | 
