Skip to content

Commit 0a6ff85

Browse files
committed
uses PhpToken
1 parent b190f11 commit 0a6ff85

File tree

1 file changed

+32
-34
lines changed

1 file changed

+32
-34
lines changed

src/RobotLoader/RobotLoader.php

Lines changed: 32 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,7 @@ private function scanPhp(string $file): array
324324
$classes = [];
325325

326326
try {
327-
$tokens = token_get_all($code, TOKEN_PARSE);
327+
$tokens = \PhpToken::tokenize($code, TOKEN_PARSE);
328328
} catch (\ParseError $e) {
329329
if ($this->reportParseErrors) {
330330
$rp = new \ReflectionProperty($e, 'file');
@@ -337,42 +337,40 @@ private function scanPhp(string $file): array
337337
}
338338

339339
foreach ($tokens as $token) {
340-
if (is_array($token)) {
341-
switch ($token[0]) {
342-
case T_COMMENT:
343-
case T_DOC_COMMENT:
344-
case T_WHITESPACE:
345-
continue 2;
346-
347-
case T_STRING:
348-
case T_NAME_QUALIFIED:
349-
if ($expected) {
350-
$name .= $token[1];
351-
}
352-
353-
continue 2;
354-
355-
case T_NAMESPACE:
356-
case T_CLASS:
357-
case T_INTERFACE:
358-
case T_TRAIT:
359-
case PHP_VERSION_ID < 80100
360-
? T_CLASS
361-
: T_ENUM:
362-
$expected = $token[0];
363-
$name = '';
364-
continue 2;
365-
366-
case T_CURLY_OPEN:
367-
case T_DOLLAR_OPEN_CURLY_BRACES:
368-
$level++;
369-
}
340+
switch ($token->id) {
341+
case T_COMMENT:
342+
case T_DOC_COMMENT:
343+
case T_WHITESPACE:
344+
continue 2;
345+
346+
case T_STRING:
347+
case T_NAME_QUALIFIED:
348+
if ($expected) {
349+
$name .= $token->text;
350+
}
351+
352+
continue 2;
353+
354+
case T_NAMESPACE:
355+
case T_CLASS:
356+
case T_INTERFACE:
357+
case T_TRAIT:
358+
case PHP_VERSION_ID < 80100
359+
? T_CLASS
360+
: T_ENUM:
361+
$expected = $token->id;
362+
$name = '';
363+
continue 2;
364+
365+
case T_CURLY_OPEN:
366+
case T_DOLLAR_OPEN_CURLY_BRACES:
367+
$level++;
370368
}
371369

372370
if ($expected) {
373371
if ($expected === T_NAMESPACE) {
374372
$namespace = $name ? $name . '\\' : '';
375-
$minLevel = $token === '{' ? 1 : 0;
373+
$minLevel = $token->text === '{' ? 1 : 0;
376374

377375
} elseif ($name && $level === $minLevel) {
378376
$classes[] = $namespace . $name;
@@ -381,9 +379,9 @@ private function scanPhp(string $file): array
381379
$expected = null;
382380
}
383381

384-
if ($token === '{') {
382+
if ($token->text === '{') {
385383
$level++;
386-
} elseif ($token === '}') {
384+
} elseif ($token->text === '}') {
387385
$level--;
388386
}
389387
}

0 commit comments

Comments
 (0)