private function removeUsesInSameNamespace(Tokens $tokens, array $useDeclarations, array $namespaceDeclarations)
{
// safeguard for files with multiple namespaces to avoid breaking them until we support this case
if (1 !== count($namespaceDeclarations)) {
return;
}
$namespace = $namespaceDeclarations[0]['name'];
$nsLength = strlen($namespace . '\\');
foreach ($useDeclarations as $useDeclaration) {
if ($useDeclaration['aliased']) {
continue;
}
if (0 !== strpos($useDeclaration['fullName'], $namespace . '\\')) {
continue;
}
$partName = substr($useDeclaration['fullName'], $nsLength);
if (false === strpos($partName, '\\')) {
$this->removeUseDeclaration($tokens, $useDeclaration);
}
}
}