mirror of
https://github.com/rectorphp/rector.git
synced 2024-06-27 13:13:31 +00:00
Make ClassRenamer use UseImportsResolver (#2160)
This commit is contained in:
parent
2447c3155b
commit
57b835b5d0
|
@ -28,6 +28,7 @@ use Rector\CodingStyle\Naming\ClassNaming;
|
|||
use Rector\Core\Configuration\Option;
|
||||
use Rector\Core\PhpParser\Node\BetterNodeFinder;
|
||||
use Rector\Core\ValueObject\Application\File;
|
||||
use Rector\Naming\Naming\UseImportsResolver;
|
||||
use Rector\NodeNameResolver\NodeNameResolver;
|
||||
use Rector\NodeRemoval\NodeRemover;
|
||||
use Rector\NodeTypeResolver\Node\AttributeKey;
|
||||
|
@ -54,7 +55,8 @@ final class ClassRenamer
|
|||
private readonly DocBlockClassRenamer $docBlockClassRenamer,
|
||||
private readonly ReflectionProvider $reflectionProvider,
|
||||
private readonly NodeRemover $nodeRemover,
|
||||
private readonly ParameterProvider $parameterProvider
|
||||
private readonly ParameterProvider $parameterProvider,
|
||||
private readonly UseImportsResolver $useImportsResolver,
|
||||
) {
|
||||
}
|
||||
|
||||
|
@ -413,14 +415,13 @@ final class ClassRenamer
|
|||
|
||||
private function isValidUseImportChange(string $newName, UseUse $useUse): bool
|
||||
{
|
||||
/** @var Use_[]|null $useNodes */
|
||||
$useNodes = $useUse->getAttribute(AttributeKey::USE_NODES);
|
||||
if ($useNodes === null) {
|
||||
$uses = $this->useImportsResolver->resolveForNode($useUse);
|
||||
if ($uses === []) {
|
||||
return true;
|
||||
}
|
||||
|
||||
foreach ($useNodes as $useNode) {
|
||||
if ($this->nodeNameResolver->isName($useNode, $newName)) {
|
||||
foreach ($uses as $use) {
|
||||
if ($this->nodeNameResolver->isName($use, $newName)) {
|
||||
// name already exists
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user