@@ -324,7 +324,7 @@ private function scanPhp(string $file): array
324
324
$ classes = [];
325
325
326
326
try {
327
- $ tokens = token_get_all ($ code , TOKEN_PARSE );
327
+ $ tokens = \PhpToken:: tokenize ($ code , TOKEN_PARSE );
328
328
} catch (\ParseError $ e ) {
329
329
if ($ this ->reportParseErrors ) {
330
330
$ rp = new \ReflectionProperty ($ e , 'file ' );
@@ -337,42 +337,40 @@ private function scanPhp(string $file): array
337
337
}
338
338
339
339
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 ++;
370
368
}
371
369
372
370
if ($ expected ) {
373
371
if ($ expected === T_NAMESPACE ) {
374
372
$ namespace = $ name ? $ name . '\\' : '' ;
375
- $ minLevel = $ token === '{ ' ? 1 : 0 ;
373
+ $ minLevel = $ token-> text === '{ ' ? 1 : 0 ;
376
374
377
375
} elseif ($ name && $ level === $ minLevel ) {
378
376
$ classes [] = $ namespace . $ name ;
@@ -381,9 +379,9 @@ private function scanPhp(string $file): array
381
379
$ expected = null ;
382
380
}
383
381
384
- if ($ token === '{ ' ) {
382
+ if ($ token-> text === '{ ' ) {
385
383
$ level ++;
386
- } elseif ($ token === '} ' ) {
384
+ } elseif ($ token-> text === '} ' ) {
387
385
$ level --;
388
386
}
389
387
}
0 commit comments