$node stays as-is * * array (of Nodes) * => The return value is merged into the parent array (at the position of the $node) * * NodeTraverser::REMOVE_NODE * => $node is removed from the parent array * * NodeTraverser::DONT_TRAVERSE_CHILDREN * => Children of $node are not traversed. $node stays as-is * * NodeTraverser::DONT_TRAVERSE_CURRENT_AND_CHILDREN * => Further visitors for the current node are skipped, and its children are not * traversed. $node stays as-is. * * NodeTraverser::STOP_TRAVERSAL * => Traversal is aborted. $node stays as-is * * otherwise * => $node is set to the return value * * @param Node $node Node * * @return Node|Node[]|NodeTraverser::*|null Replacement node (or special return value) */ public function enterNode(Node $node); /** * Called when leaving a node. * * Return value semantics: * * null * => $node stays as-is * * NodeTraverser::REMOVE_NODE * => $node is removed from the parent array * * NodeTraverser::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 Node|Node[]|NodeTraverser::REMOVE_NODE|NodeTraverser::STOP_TRAVERSAL|null Replacement node (or special return value) */ 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 Node[]|null Array of nodes */ public function afterTraverse(array $nodes): ?array; } __halt_compiler();----SIGNATURE:----cwsk8D+hAX8J6aLGZrVHJjQmIGiV2J50R+1RKcpbVLBlbfU3oiz94+bmJnoLVHvsvZEi0kMGvVkCi9ClHnDJWS7TLF6alVd10GDAV/iKkdWxTQLZgV3gmDaoCbplnBLXm7BrMOufyYnegsVmYUpZ6qWcvBNgUewMY0/NIkPDi7XkdQU2fYGr91iCmNRJmaqvro5jmw6YJ9JLJWRs0s+0Yo832awfGiNPo7IYC0xUXh0y8ugueI4sRJ6sGmx4J072UgNr6NUECot/mR4GEOXoySpQ6R83EcGr+afJF6I1BnR9IzEWiGitwfDoS+3yzMil6a18u8K7+5+DhqSVQeC9UBnSLEbZuTNeyQ8+OnsF5hQ4AhvUi+KN2ICtmYlCQ+TEsF+E0/Ds9a8HS+uxyDUPDqRRsrXF89trh7+i11iNkQnv/sj4SV3et4UcAKhhfVKwPyuz2sREkGsBXioY9GsW7kW7lb9GtF3zPNirRvqw0u5k74BZcCEtYSSxvQ92oTlHS+2xkjc6ADH9F5teUZ6wTea0sCmVXJ98QYJ2xES20nUYu7EuzR8dMZSD3DdR03nHlFchjw/EXnKdbszCqMEtAxGOV6okWc/st0Q4AAoVDlYYX1e8Z2AdZ/BmR6WO+YOAW198kGrgD5kPkPey/zP04pfizw5oHhXaIKrDfNI/r+4=----ATTACHMENT:----NDUxMzAxOTQ1NzIyODk1OSAzNjU1Mjk0NDQyMTcwNDUzIDk3NTMwODY1ODE3NDM2OTI=