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: |