Skip to content

Commit 5e5cb86

Browse files
committed
Remove support for node cloning in traverser
1 parent 2be7838 commit 5e5cb86

File tree

2 files changed

+2
-22
lines changed

2 files changed

+2
-22
lines changed

lib/PhpParser/NodeTraverser.php

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,11 @@ class NodeTraverser implements NodeTraverserInterface
99
*/
1010
protected $visitors;
1111

12-
/**
13-
* @var bool
14-
*/
15-
private $cloneNodes;
16-
1712
/**
1813
* Constructs a node traverser.
19-
*
20-
* @param bool $cloneNodes Should the traverser clone the nodes when traversing the AST
2114
*/
22-
public function __construct($cloneNodes = false) {
15+
public function __construct() {
2316
$this->visitors = array();
24-
$this->cloneNodes = $cloneNodes;
2517
}
2618

2719
/**
@@ -73,10 +65,6 @@ public function traverse(array $nodes) {
7365
}
7466

7567
protected function traverseNode(Node $node) {
76-
if ($this->cloneNodes) {
77-
$node = clone $node;
78-
}
79-
8068
foreach ($node->getSubNodeNames() as $name) {
8169
$subNode =& $node->$name;
8270

test/PhpParser/NodeTraverserTest.php

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -185,15 +185,7 @@ public function testRemovingVisitor() {
185185
$this->assertAttributeSame($postExpected, 'visitors', $traverser, 'The appropriate visitors are not present after removal');
186186
}
187187

188-
public function testCloneNodes() {
189-
$stmts = array(new Node\Stmt\Echo_(array(new String_('Foo'), new String_('Bar'))));
190-
191-
$traverser = new NodeTraverser(true);
192-
193-
$this->assertNotSame($stmts, $traverser->traverse($stmts));
194-
}
195-
196-
public function testNoCloneNodesByDefault() {
188+
public function testNoCloneNodes() {
197189
$stmts = array(new Node\Stmt\Echo_(array(new String_('Foo'), new String_('Bar'))));
198190

199191
$traverser = new NodeTraverser;

0 commit comments

Comments
 (0)