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