function ReferencedNameHelper::getReferencedNamesFromString
*
Return value
list<string>
1 call to ReferencedNameHelper::getReferencedNamesFromString()
- ReferencedNameHelper::createAllReferencedNames in vendor/
slevomat/ coding-standard/ SlevomatCodingStandard/ Helpers/ ReferencedNameHelper.php - *
File
-
vendor/
slevomat/ coding-standard/ SlevomatCodingStandard/ Helpers/ ReferencedNameHelper.php, line 482
Class
- ReferencedNameHelper
- @internal
Namespace
SlevomatCodingStandard\HelpersCode
private static function getReferencedNamesFromString(string $content) : array {
$referencedNames = [];
$subTokens = token_get_all('<?php ' . $content);
foreach ($subTokens as $position => $token) {
if (is_array($token) && $token[0] === T_DOUBLE_COLON) {
$referencedName = '';
$tmpPosition = $position - 1;
while (true) {
if (!is_array($subTokens[$tmpPosition]) || !in_array($subTokens[$tmpPosition][0], [
T_NS_SEPARATOR,
T_STRING,
], true)) {
break;
}
$referencedName = $subTokens[$tmpPosition][1] . $referencedName;
$tmpPosition--;
}
$referencedNames[] = $referencedName;
}
elseif (is_array($token) && $token[0] === T_NEW) {
$referencedName = '';
$tmpPosition = $position + 1;
while (true) {
if (!is_array($subTokens[$tmpPosition])) {
break;
}
if ($subTokens[$tmpPosition][0] === T_WHITESPACE) {
$tmpPosition++;
continue;
}
if (!in_array($subTokens[$tmpPosition][0], [
T_STRING,
T_NS_SEPARATOR,
T_NAME_QUALIFIED,
T_NAME_FULLY_QUALIFIED,
T_NAME_RELATIVE,
], true)) {
break;
}
$referencedName .= $subTokens[$tmpPosition][1];
$tmpPosition++;
}
if ($referencedName !== '') {
$referencedNames[] = $referencedName;
}
}
}
return $referencedNames;
}