bug #19298 [ClassLoader] Fix declared classes being computed when not needed (nicolas-grekas)
This PR was merged into the 2.7 branch.
Discussion
----------
[ClassLoader] Fix declared classes being computed when not needed
| Q | A
| ------------- | ---
| Branch? | 2.7
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | no
| Fixed tickets | -
| License | MIT
| Doc PR | -
Commits
-------
d513eae
[ClassLoader] Fix declared classes being computed when not needed
This commit is contained in:
commit
7c39ac1350
@ -43,12 +43,12 @@ class ClassCollectionLoader
|
|||||||
|
|
||||||
self::$loaded[$name] = true;
|
self::$loaded[$name] = true;
|
||||||
|
|
||||||
$declared = array_merge(get_declared_classes(), get_declared_interfaces());
|
|
||||||
if (function_exists('get_declared_traits')) {
|
|
||||||
$declared = array_merge($declared, get_declared_traits());
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($adaptive) {
|
if ($adaptive) {
|
||||||
|
$declared = array_merge(get_declared_classes(), get_declared_interfaces());
|
||||||
|
if (function_exists('get_declared_traits')) {
|
||||||
|
$declared = array_merge($declared, get_declared_traits());
|
||||||
|
}
|
||||||
|
|
||||||
// don't include already declared classes
|
// don't include already declared classes
|
||||||
$classes = array_diff($classes, $declared);
|
$classes = array_diff($classes, $declared);
|
||||||
|
|
||||||
@ -87,11 +87,17 @@ class ClassCollectionLoader
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$reload && is_file($cache)) {
|
if (!$reload && file_exists($cache)) {
|
||||||
require_once $cache;
|
require_once $cache;
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (!$adaptive) {
|
||||||
|
$declared = array_merge(get_declared_classes(), get_declared_interfaces());
|
||||||
|
if (function_exists('get_declared_traits')) {
|
||||||
|
$declared = array_merge($declared, get_declared_traits());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$files = array();
|
$files = array();
|
||||||
$content = '';
|
$content = '';
|
||||||
|
Reference in New Issue
Block a user