File "UseTokenParser.php"
Full Path: /var/www/html/back/vendor/spatie/php-structure-discoverer/src/TokenParsers/UseTokenParser.php
File size: 965 bytes
MIME-type: text/x-php
Charset: utf-8
<?php
namespace Spatie\StructureDiscoverer\TokenParsers;
use Spatie\StructureDiscoverer\Collections\TokenCollection;
use Spatie\StructureDiscoverer\Data\Usage;
class UseTokenParser
{
/**
* @return Usage[]
*/
public function execute(int $index, TokenCollection $tokens): array
{
$usages = [];
do {
if ($tokens->get($index + 1)->is(T_AS)) {
$usages[] = new Usage(
$tokens->get($index)->text,
$tokens->get($index + 2)->text
);
$index += 3;
} else {
$usages[] = new Usage($tokens->get($index)->text);
$index += 1;
}
if ($tokens->get($index)?->is(ord(','))) {
$index += 1;
continue;
}
break;
} while ($tokens->get($index)->is([T_NAME_QUALIFIED, T_STRING]));
return $usages;
}
}