[Cache] Remove PhpArrayAdapter::throwOnRequiredClass()

This commit is contained in:
Thomas Calvet 2019-08-08 08:58:12 +02:00
parent 1126fa6a58
commit 4568f1ef0a

View File

@ -413,42 +413,4 @@ EOF;
yield from $this->pool->getItems($fallbackKeys);
}
}
/**
* @throws \ReflectionException When $class is not found and is required
*
* @internal to be removed in Symfony 5.0
*/
public static function throwOnRequiredClass($class)
{
$e = new \ReflectionException("Class $class does not exist");
$trace = $e->getTrace();
$autoloadFrame = [
'function' => 'spl_autoload_call',
'args' => [$class],
];
$i = 1 + array_search($autoloadFrame, $trace, true);
if (isset($trace[$i]['function']) && !isset($trace[$i]['class'])) {
switch ($trace[$i]['function']) {
case 'get_class_methods':
case 'get_class_vars':
case 'get_parent_class':
case 'is_a':
case 'is_subclass_of':
case 'class_exists':
case 'class_implements':
case 'class_parents':
case 'trait_exists':
case 'defined':
case 'interface_exists':
case 'method_exists':
case 'property_exists':
case 'is_callable':
return;
}
}
throw $e;
}
}