PHPParser_NodeTraverser::traverseArray PHP Method

traverseArray() protected method

protected traverseArray ( array $nodes )
$nodes array
    protected function traverseArray(array $nodes)
    {
        $doNodes = array();
        foreach ($nodes as $i => &$node) {
            if (is_array($node)) {
                $node = $this->traverseArray($node);
            } elseif ($node instanceof PHPParser_Node) {
                foreach ($this->visitors as $visitor) {
                    if (null !== ($return = $visitor->enterNode($node))) {
                        $node = $return;
                    }
                }
                $node = $this->traverseNode($node);
                foreach ($this->visitors as $visitor) {
                    $return = $visitor->leaveNode($node);
                    if (false === $return) {
                        $doNodes[] = array($i, array());
                        break;
                    } elseif (is_array($return)) {
                        $doNodes[] = array($i, $return);
                        break;
                    } elseif (null !== $return) {
                        $node = $return;
                    }
                }
            }
        }
        if (!empty($doNodes)) {
            while (list($i, $replace) = array_pop($doNodes)) {
                array_splice($nodes, $i, 1, $replace);
            }
        }
        return $nodes;
    }