Skip to content

Commit d414913

Browse files
committed
Reflection: uses PhpToken
1 parent 61fb821 commit d414913

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

src/Utils/Reflection.php

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ public static function getUseStatements(\ReflectionClass $class): array
277277
private static function parseUseStatements(string $code, string $forClass = null): array
278278
{
279279
try {
280-
$tokens = token_get_all($code, TOKEN_PARSE);
280+
$tokens = \PhpToken::tokenize($code, TOKEN_PARSE);
281281
} catch (\ParseError $e) {
282282
trigger_error($e->getMessage(), E_USER_NOTICE);
283283
$tokens = [];
@@ -289,7 +289,7 @@ private static function parseUseStatements(string $code, string $forClass = null
289289

290290
while ($token = current($tokens)) {
291291
next($tokens);
292-
switch (is_array($token) ? $token[0] : $token) {
292+
switch ($token->id) {
293293
case T_NAMESPACE:
294294
$namespace = ltrim(self::fetch($tokens, $nameTokens) . '\\', '\\');
295295
$uses = [];
@@ -342,11 +342,11 @@ private static function parseUseStatements(string $code, string $forClass = null
342342

343343
case T_CURLY_OPEN:
344344
case T_DOLLAR_OPEN_CURLY_BRACES:
345-
case '{':
345+
case ord('{'):
346346
$level++;
347347
break;
348348

349-
case '}':
349+
case ord('}'):
350350
if ($level === $classLevel) {
351351
$class = $classLevel = null;
352352
}
@@ -362,10 +362,9 @@ private static function fetch(array &$tokens, string|int|array $take): ?string
362362
{
363363
$res = null;
364364
while ($token = current($tokens)) {
365-
[$token, $s] = is_array($token) ? $token : [$token, $token];
366-
if (in_array($token, (array) $take, true)) {
367-
$res .= $s;
368-
} elseif (!in_array($token, [T_DOC_COMMENT, T_WHITESPACE, T_COMMENT], true)) {
365+
if ($token->is($take)) {
366+
$res .= $token->text;
367+
} elseif (!$token->is([T_DOC_COMMENT, T_WHITESPACE, T_COMMENT])) {
369368
break;
370369
}
371370
next($tokens);

0 commit comments

Comments
 (0)