eee
This commit is contained in:
+18
-6
@@ -261,11 +261,10 @@ class Scanner extends Component
|
|||||||
if ($loadFile) {
|
if ($loadFile) {
|
||||||
$before = $this->getDeclaredSymbols();
|
$before = $this->getDeclaredSymbols();
|
||||||
require_once $path;
|
require_once $path;
|
||||||
$after = $this->getDeclaredSymbols();
|
if ($classes === []) {
|
||||||
$classes = array_values(array_unique(array_merge(
|
$after = $this->getDeclaredSymbols();
|
||||||
$classes,
|
$classes = array_values(array_diff($after, $before));
|
||||||
array_diff($after, $before)
|
}
|
||||||
)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($classes as $class) {
|
foreach ($classes as $class) {
|
||||||
@@ -328,7 +327,7 @@ class Scanner extends Component
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($token[0] === T_CLASS && $this->isAnonymousClass($tokens, $i)) {
|
if ($token[0] === T_CLASS && ($this->isAnonymousClass($tokens, $i) || $this->isClassConstant($tokens, $i))) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -398,6 +397,19 @@ class Scanner extends Component
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function isClassConstant(array $tokens, int $offset): bool
|
||||||
|
{
|
||||||
|
for ($i = $offset - 1; $i >= 0; $i--) {
|
||||||
|
$token = $tokens[$i];
|
||||||
|
if (is_array($token) && in_array($token[0], [T_WHITESPACE, T_COMMENT, T_DOC_COMMENT], true)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
return is_array($token) && $token[0] === T_DOUBLE_COLON;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
private function getDeclaredSymbols(): array
|
private function getDeclaredSymbols(): array
|
||||||
{
|
{
|
||||||
return array_merge(get_declared_classes(), get_declared_interfaces(), get_declared_traits());
|
return array_merge(get_declared_classes(), get_declared_interfaces(), get_declared_traits());
|
||||||
|
|||||||
Reference in New Issue
Block a user