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: | { |
15: | public function enterNode(Node $origNode) { |
16: | $node = clone $origNode; |
17: | $node->setAttribute('origNode', $origNode); |
18: | return $node; |
19: | } |
20: | } |
21: |