Skip to content

Commit 4503a70

Browse files
Make getVisitorsForNode function public
1 parent 5d61bf5 commit 4503a70

File tree

3 files changed

+10
-37
lines changed

3 files changed

+10
-37
lines changed

patches/nikic-php-parser-lib-phpparser-nodetraverser-php.patch

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
+ /**
4848
+ * @return NodeVisitor[]
4949
+ */
50-
+ protected function getVisitorsForNode(Node $node)
50+
+ public function getVisitorsForNode(Node $node)
5151
+ {
5252
+ return $this->visitors;
5353
}

src/PhpParser/NodeTraverser/RectorNodeTraverser.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public function refreshPhpRectors(array $rectors): void
6060
*
6161
* @return NodeVisitor[]
6262
*/
63-
protected function getVisitorsForNode(Node $node): array
63+
public function getVisitorsForNode(Node $node): array
6464
{
6565
$nodeClass = $node::class;
6666
if (! isset($this->visitorsPerNodeClass[$nodeClass])) {

tests/PhpParser/NodeTraverser/RectorNodeTraverserTest.php

Lines changed: 8 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,11 @@
1010
use Rector\Tests\PhpParser\NodeTraverser\Class_\RuleUsingClassRector;
1111
use Rector\Tests\PhpParser\NodeTraverser\ClassLike\RuleUsingClassLikeRector;
1212
use Rector\Tests\PhpParser\NodeTraverser\Function_\RuleUsingFunctionRector;
13-
use Rector\Util\Reflection\PrivatesAccessor;
1413

1514
final class RectorNodeTraverserTest extends AbstractLazyTestCase
1615
{
1716
private RectorNodeTraverser $rectorNodeTraverser;
1817

19-
private PrivatesAccessor $privatesAccessor;
20-
2118
private RuleUsingFunctionRector $ruleUsingFunctionRector;
2219

2320
private RuleUsingClassRector $ruleUsingClassRector;
@@ -29,8 +26,6 @@ protected function setUp(): void
2926
$this->rectorNodeTraverser = $this->make(RectorNodeTraverser::class);
3027
$this->rectorNodeTraverser->refreshPhpRectors([]);
3128

32-
$this->privatesAccessor = new PrivatesAccessor();
33-
3429
$this->ruleUsingFunctionRector = new RuleUsingFunctionRector();
3530
$this->ruleUsingClassRector = new RuleUsingClassRector();
3631
$this->ruleUsingClassLikeRector = new RuleUsingClassLikeRector();
@@ -39,11 +34,8 @@ protected function setUp(): void
3934
public function testGetVisitorsForNodeWhenNoVisitorsAvailable(): void
4035
{
4136
$class = new Class_('test');
42-
$visitors = $this->privatesAccessor->callPrivateMethod(
43-
$this->rectorNodeTraverser,
44-
'getVisitorsForNode',
45-
[$class]
46-
);
37+
38+
$visitors = $this->rectorNodeTraverser->getVisitorsForNode($class);
4739

4840
$this->assertSame([], $visitors);
4941
}
@@ -52,11 +44,8 @@ public function testGetVisitorsForNodeWhenNoVisitorsMatch(): void
5244
{
5345
$class = new Class_('test');
5446
$this->rectorNodeTraverser->addVisitor($this->ruleUsingFunctionRector);
55-
$visitors = $this->privatesAccessor->callPrivateMethod(
56-
$this->rectorNodeTraverser,
57-
'getVisitorsForNode',
58-
[$class]
59-
);
47+
48+
$visitors = $this->rectorNodeTraverser->getVisitorsForNode($class);
6049

6150
$this->assertSame([], $visitors);
6251
}
@@ -67,11 +56,7 @@ public function testGetVisitorsForNodeWhenSomeVisitorsMatch(): void
6756
$this->rectorNodeTraverser->addVisitor($this->ruleUsingFunctionRector);
6857
$this->rectorNodeTraverser->addVisitor($this->ruleUsingClassRector);
6958

70-
$visitors = $this->privatesAccessor->callPrivateMethod(
71-
$this->rectorNodeTraverser,
72-
'getVisitorsForNode',
73-
[$class]
74-
);
59+
$visitors = $this->rectorNodeTraverser->getVisitorsForNode($class);
7560

7661
$this->assertEquals([$this->ruleUsingClassRector], $visitors);
7762
}
@@ -82,11 +67,7 @@ public function testGetVisitorsForNodeWhenAllVisitorsMatch(): void
8267
$this->rectorNodeTraverser->addVisitor($this->ruleUsingClassRector);
8368
$this->rectorNodeTraverser->addVisitor($this->ruleUsingClassLikeRector);
8469

85-
$visitors = $this->privatesAccessor->callPrivateMethod(
86-
$this->rectorNodeTraverser,
87-
'getVisitorsForNode',
88-
[$class]
89-
);
70+
$visitors = $this->rectorNodeTraverser->getVisitorsForNode($class);
9071

9172
$this->assertEquals([$this->ruleUsingClassRector, $this->ruleUsingClassLikeRector], $visitors);
9273
}
@@ -97,20 +78,12 @@ public function testGetVisitorsForNodeUsesCachedValue(): void
9778
$this->rectorNodeTraverser->addVisitor($this->ruleUsingClassRector);
9879
$this->rectorNodeTraverser->addVisitor($this->ruleUsingClassLikeRector);
9980

100-
$visitors = $this->privatesAccessor->callPrivateMethod(
101-
$this->rectorNodeTraverser,
102-
'getVisitorsForNode',
103-
[$class]
104-
);
81+
$visitors = $this->rectorNodeTraverser->getVisitorsForNode($class);
10582

10683
$this->assertEquals([$this->ruleUsingClassRector, $this->ruleUsingClassLikeRector], $visitors);
10784

10885
$this->rectorNodeTraverser->removeVisitor($this->ruleUsingClassRector);
109-
$visitors = $this->privatesAccessor->callPrivateMethod(
110-
$this->rectorNodeTraverser,
111-
'getVisitorsForNode',
112-
[$class]
113-
);
86+
$visitors = $this->rectorNodeTraverser->getVisitorsForNode($class);
11487

11588
$this->assertEquals([$this->ruleUsingClassRector, $this->ruleUsingClassLikeRector], $visitors);
11689
}

0 commit comments

Comments
 (0)