private function getNamespaceUseDeclarations(Tokens $tokens, array $useIndexes)
{
$uses = array();
foreach ($useIndexes as $index) {
$declarationEndIndex = $tokens->getNextTokenOfKind($index, array(';', array(T_CLOSE_TAG)));
$declarationContent = $tokens->generatePartialCode($index + 1, $declarationEndIndex - 1);
if (false !== strpos($declarationContent, ',') || false !== strpos($declarationContent, '{')) {
continue;
}
$declarationParts = preg_split('/\\s+as\\s+/i', $declarationContent);
if (1 === count($declarationParts)) {
$fullName = $declarationContent;
$declarationParts = explode('\\', $fullName);
$shortName = end($declarationParts);
$aliased = false;
} else {
list($fullName, $shortName) = $declarationParts;
$declarationParts = explode('\\', $fullName);
$aliased = $shortName !== end($declarationParts);
}
$shortName = trim($shortName);
$uses[$shortName] = array('fullName' => trim($fullName), 'shortName' => $shortName, 'aliased' => $aliased, 'start' => $index, 'end' => $declarationEndIndex);
}
return $uses;
}