Skip to content

Commit

Permalink
UseImportsTraverser: don't deep traverse (#4994)
Browse files Browse the repository at this point in the history
* UseImportsTraverser: don't deep traverse

* Update UseImportsTraverser.php

* Update UseImportsTraverser.php

* UseImportsTraverser: don't deep traverse
  • Loading branch information
staabm committed Sep 11, 2023
1 parent 7b4858b commit ed0be50
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions rules/CodingStyle/ClassNameImport/UseImportsTraverser.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,14 @@

namespace Rector\CodingStyle\ClassNameImport;

use PhpParser\Node\Stmt\Namespace_;
use Rector\Core\PhpParser\Node\CustomNode\FileWithoutNamespace;
use PhpParser\Node;
use PhpParser\Node\Stmt;
use PhpParser\Node\Stmt\GroupUse;
use PhpParser\Node\Stmt\Use_;
use PhpParser\Node\Stmt\UseUse;
use PhpParser\NodeTraverser;
use Rector\NodeNameResolver\NodeNameResolver;
use Rector\PhpDocParser\NodeTraverser\SimpleCallableNodeTraverser;

Expand Down Expand Up @@ -57,27 +60,24 @@ private function traverseForType(array $stmts, callable $callable, int $desiredT
$callable,
$desiredType
) {
if ($node instanceof Use_) {
// only import uses
if ($node->type !== $desiredType) {
return null;
}
if ($node instanceof Namespace_ || $node instanceof FileWithoutNamespace) {
// traverse into namespaces
return null;
}

if ($node instanceof Use_ && $node->type === $desiredType) {
foreach ($node->uses as $useUse) {
$name = $this->nodeNameResolver->getName($useUse);
if ($name === null) {
continue;
}

$callable($useUse, $name);
}
}

if ($node instanceof GroupUse) {
} elseif ($node instanceof GroupUse) {
$this->processGroupUse($node, $desiredType, $callable);
}

return null;
return NodeTraverser::DONT_TRAVERSE_CURRENT_AND_CHILDREN;
});
}

Expand Down

0 comments on commit ed0be50

Please sign in to comment.