1: <?php declare(strict_types=1);
2:
3: namespace PhpParser\NodeVisitor;
4:
5: use PhpParser\Node;
6: use PhpParser\NodeVisitorAbstract;
7:
8: /**
9: * Visitor cloning all nodes and linking to the original nodes using an attribute.
10: *
11: * This visitor is required to perform format-preserving pretty prints.
12: */
13: class CloningVisitor extends NodeVisitorAbstract {
14: public function enterNode(Node $origNode) {
15: $node = clone $origNode;
16: $node->setAttribute('origNode', $origNode);
17: return $node;
18: }
19: }
20: