private static function ClassCollectionLoader::resolveDependencies in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/symfony/class-loader/ClassCollectionLoader.php \Symfony\Component\ClassLoader\ClassCollectionLoader::resolveDependencies()
Dependencies resolution.
This function does not check for circular dependencies as it should never occur with PHP traits.
Parameters
array $tree The dependency tree:
\ReflectionClass $node The node:
\ArrayObject $resolved An array of already resolved dependencies:
\ArrayObject $unresolved An array of dependencies to be resolved:
Return value
\ArrayObject The dependencies for the given node
Throws
\RuntimeException if a circular dependency is detected
1 call to ClassCollectionLoader::resolveDependencies()
- ClassCollectionLoader::getClassHierarchy in vendor/
symfony/ class-loader/ ClassCollectionLoader.php
File
- vendor/
symfony/ class-loader/ ClassCollectionLoader.php, line 347
Class
- ClassCollectionLoader
- ClassCollectionLoader.
Namespace
Symfony\Component\ClassLoaderCode
private static function resolveDependencies(array $tree, $node, \ArrayObject $resolved = null, \ArrayObject $unresolved = null) {
if (null === $resolved) {
$resolved = new \ArrayObject();
}
if (null === $unresolved) {
$unresolved = new \ArrayObject();
}
$nodeName = $node
->getName();
if (isset($tree[$nodeName])) {
$unresolved[$nodeName] = $node;
foreach ($tree[$nodeName] as $dependency) {
if (!$resolved
->offsetExists($dependency
->getName())) {
self::resolveDependencies($tree, $dependency, $resolved, $unresolved);
}
}
$resolved[$nodeName] = $node;
unset($unresolved[$nodeName]);
}
return $resolved;
}