rector/rules/Naming/NamespaceMatcher.php

24 lines
730 B
PHP
Raw Normal View History

2019-10-13 07:59:52 +02:00
<?php
declare (strict_types=1);
namespace Rector\Naming;
2021-04-10 22:21:54 +02:00
use Rector\Renaming\ValueObject\RenamedNamespace;
final class NamespaceMatcher
{
/**
* @param string[] $oldToNewNamespace
*/
public function matchRenamedNamespace(string $name, array $oldToNewNamespace) : ?\Rector\Renaming\ValueObject\RenamedNamespace
{
\krsort($oldToNewNamespace);
/** @var string $oldNamespace */
foreach ($oldToNewNamespace as $oldNamespace => $newNamespace) {
if (\strncmp($name, $oldNamespace, \strlen($oldNamespace)) === 0) {
return new \Rector\Renaming\ValueObject\RenamedNamespace($name, $oldNamespace, $newNamespace);
}
}
return null;
}
}