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