|
25 | 25 | * - no leaveNode(), as we do all in enterNode() that calls refactor() method |
26 | 26 | * - cached visitors per node class for performance, e.g. when we find rules for Class_ node, they're cached for next time |
27 | 27 | * - immutability features, register Rector rules once, then use; no changes on the fly |
| 28 | + * @see \Rector\Tests\PhpParser\NodeTraverser\RectorNodeTraverserTest |
28 | 29 | */ |
29 | 30 | final class RectorNodeTraverser implements NodeTraverserInterface |
30 | 31 | { |
@@ -89,16 +90,16 @@ public function getVisitorsForNode(Node $node): array |
89 | 90 | if (! isset($this->visitorsPerNodeClass[$nodeClass])) { |
90 | 91 | $this->visitorsPerNodeClass[$nodeClass] = []; |
91 | 92 |
|
92 | | - foreach ($this->rectors as $visitor) { |
93 | | - foreach ($visitor->getNodeTypes() as $nodeType) { |
| 93 | + foreach ($this->rectors as $rector) { |
| 94 | + foreach ($rector->getNodeTypes() as $nodeType) { |
94 | 95 | // BC layer matching |
95 | 96 | if ($nodeType === FileWithoutNamespace::class && $nodeClass === FileNode::class) { |
96 | | - $this->visitorsPerNodeClass[$nodeClass][] = $visitor; |
| 97 | + $this->visitorsPerNodeClass[$nodeClass][] = $rector; |
97 | 98 | continue; |
98 | 99 | } |
99 | 100 |
|
100 | 101 | if (is_a($nodeClass, $nodeType, true)) { |
101 | | - $this->visitorsPerNodeClass[$nodeClass][] = $visitor; |
| 102 | + $this->visitorsPerNodeClass[$nodeClass][] = $rector; |
102 | 103 | continue 2; |
103 | 104 | } |
104 | 105 | } |
@@ -230,7 +231,7 @@ private function traverseNode(Node $node): void |
230 | 231 |
|
231 | 232 | /** |
232 | 233 | * @param Node[] $nodes |
233 | | - * @return \PhpParser\Node[] Result of traversal (may be original array or changed one) |
| 234 | + * @return Node[] Result of traversal (may be original array or changed one) |
234 | 235 | */ |
235 | 236 | private function traverseArray(array $nodes): array |
236 | 237 | { |
|
0 commit comments