mirror of
https://github.com/rectorphp/rector.git
synced 2024-06-11 13:42:22 +00:00
3313a231b7
bb609b28e3
[Core] Always reset stopTraversal to false on next Rector visit (#4182)
34 lines
1.2 KiB
PHP
34 lines
1.2 KiB
PHP
<?php
|
|
|
|
declare (strict_types=1);
|
|
namespace Rector\NodeTypeResolver\PhpDoc\NodeAnalyzer;
|
|
|
|
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo;
|
|
use Rector\NodeTypeResolver\PhpDocNodeVisitor\ClassRenamePhpDocNodeVisitor;
|
|
use Rector\NodeTypeResolver\ValueObject\OldToNewType;
|
|
use Rector\PhpDocParser\PhpDocParser\PhpDocNodeTraverser;
|
|
final class DocBlockClassRenamer
|
|
{
|
|
/**
|
|
* @var \Rector\NodeTypeResolver\PhpDocNodeVisitor\ClassRenamePhpDocNodeVisitor
|
|
*/
|
|
private $classRenamePhpDocNodeVisitor;
|
|
public function __construct(ClassRenamePhpDocNodeVisitor $classRenamePhpDocNodeVisitor)
|
|
{
|
|
$this->classRenamePhpDocNodeVisitor = $classRenamePhpDocNodeVisitor;
|
|
}
|
|
/**
|
|
* @param OldToNewType[] $oldToNewTypes
|
|
*/
|
|
public function renamePhpDocType(PhpDocInfo $phpDocInfo, array $oldToNewTypes) : void
|
|
{
|
|
if ($oldToNewTypes === []) {
|
|
return;
|
|
}
|
|
$phpDocNodeTraverser = new PhpDocNodeTraverser();
|
|
$phpDocNodeTraverser->addPhpDocNodeVisitor($this->classRenamePhpDocNodeVisitor);
|
|
$this->classRenamePhpDocNodeVisitor->setOldToNewTypes($oldToNewTypes);
|
|
$phpDocNodeTraverser->traverse($phpDocInfo->getPhpDocNode());
|
|
}
|
|
}
|