X-Git-Url: https://yaffs.net/gitweb/?a=blobdiff_plain;f=vendor%2Fsymfony%2Fdependency-injection%2FCompiler%2FRemoveUnusedDefinitionsPass.php;h=c0771890a453cc66a44a599e4fdade812a8f6dec;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hp=9e18a9ebde062f54c303be7ed31ab2a5a5385a5b;hpb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;p=yaffs-website diff --git a/vendor/symfony/dependency-injection/Compiler/RemoveUnusedDefinitionsPass.php b/vendor/symfony/dependency-injection/Compiler/RemoveUnusedDefinitionsPass.php index 9e18a9ebd..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,12 +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); - $compiler->addLogMessage($formatter->formatRemoveService($this, $id, 'unused')); + $container->resolveEnvPlaceholders(serialize($definition)); + $container->log($this, sprintf('Removed service "%s"; reason: unused.', $id)); $hasChanged = true; } }