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