X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=vendor%2Fsymfony%2Fdependency-injection%2FCompiler%2FRemoveUnusedDefinitionsPass.php;fp=vendor%2Fsymfony%2Fdependency-injection%2FCompiler%2FRemoveUnusedDefinitionsPass.php;h=c0771890a453cc66a44a599e4fdade812a8f6dec;hp=8252f73f6dba1a480986c5931692bccc4a60e53d;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hpb=680c79a86e3ed402f263faeac92e89fb6d9edcc0 diff --git a/vendor/symfony/dependency-injection/Compiler/RemoveUnusedDefinitionsPass.php b/vendor/symfony/dependency-injection/Compiler/RemoveUnusedDefinitionsPass.php index 8252f73f6..c0771890a 100644 --- a/vendor/symfony/dependency-injection/Compiler/RemoveUnusedDefinitionsPass.php +++ b/vendor/symfony/dependency-injection/Compiler/RemoveUnusedDefinitionsPass.php @@ -32,18 +32,14 @@ class RemoveUnusedDefinitionsPass implements RepeatablePassInterface /** * Processes the ContainerBuilder to remove unused definitions. - * - * @param ContainerBuilder $container */ public function process(ContainerBuilder $container) { - $compiler = $container->getCompiler(); - $formatter = $compiler->getLoggingFormatter(); - $graph = $compiler->getServiceReferenceGraph(); + $graph = $container->getCompiler()->getServiceReferenceGraph(); $hasChanged = false; foreach ($container->getDefinitions() as $id => $definition) { - if ($definition->isPublic()) { + if ($definition->isPublic() || $definition->isPrivate()) { continue; } @@ -52,6 +48,9 @@ class RemoveUnusedDefinitionsPass implements RepeatablePassInterface $referencingAliases = array(); $sourceIds = array(); foreach ($edges as $edge) { + if ($edge->isWeak()) { + continue; + } $node = $edge->getSourceNode(); $sourceIds[] = $node->getId(); @@ -67,13 +66,14 @@ class RemoveUnusedDefinitionsPass implements RepeatablePassInterface if (1 === count($referencingAliases) && false === $isReferenced) { $container->setDefinition((string) reset($referencingAliases), $definition); - $definition->setPublic(true); + $definition->setPublic(!$definition->isPrivate()); + $definition->setPrivate(reset($referencingAliases)->isPrivate()); $container->removeDefinition($id); - $compiler->addLogMessage($formatter->formatRemoveService($this, $id, 'replaces alias '.reset($referencingAliases))); + $container->log($this, sprintf('Removed service "%s"; reason: replaces alias %s.', $id, reset($referencingAliases))); } elseif (0 === count($referencingAliases) && false === $isReferenced) { $container->removeDefinition($id); $container->resolveEnvPlaceholders(serialize($definition)); - $compiler->addLogMessage($formatter->formatRemoveService($this, $id, 'unused')); + $container->log($this, sprintf('Removed service "%s"; reason: unused.', $id)); $hasChanged = true; } }