X-Git-Url: https://yaffs.net/gitweb/?a=blobdiff_plain;f=vendor%2Fsymfony%2Fdependency-injection%2FCompiler%2FDecoratorServicePass.php;h=1976d0ac563408b0ca0b7a361f3587a0f0223620;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hp=2c4c79d60e9d525c1ca16007d12302a74a3399cc;hpb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;p=yaffs-website diff --git a/vendor/symfony/dependency-injection/Compiler/DecoratorServicePass.php b/vendor/symfony/dependency-injection/Compiler/DecoratorServicePass.php index 2c4c79d60..1976d0ac5 100644 --- a/vendor/symfony/dependency-injection/Compiler/DecoratorServicePass.php +++ b/vendor/symfony/dependency-injection/Compiler/DecoratorServicePass.php @@ -35,8 +35,7 @@ class DecoratorServicePass implements CompilerPassInterface $definitions->insert(array($id, $definition), array($decorated[2], --$order)); } - foreach ($definitions as $arr) { - list($id, $definition) = $arr; + foreach ($definitions as list($id, $definition)) { list($inner, $renamedId) = $definition->getDecoratedService(); $definition->setDecoratedService(null); @@ -50,19 +49,25 @@ class DecoratorServicePass implements CompilerPassInterface if ($container->hasAlias($inner)) { $alias = $container->getAlias($inner); $public = $alias->isPublic(); - $container->setAlias($renamedId, new Alias((string) $alias, false)); + $private = $alias->isPrivate(); + $container->setAlias($renamedId, new Alias($container->normalizeId($alias), false)); } else { $decoratedDefinition = $container->getDefinition($inner); $definition->setTags(array_merge($decoratedDefinition->getTags(), $definition->getTags())); - $definition->setAutowiringTypes(array_merge($decoratedDefinition->getAutowiringTypes(), $definition->getAutowiringTypes())); + if ($types = array_merge($decoratedDefinition->getAutowiringTypes(false), $definition->getAutowiringTypes(false))) { + $definition->setAutowiringTypes($types); + } $public = $decoratedDefinition->isPublic(); + $private = $decoratedDefinition->isPrivate(); $decoratedDefinition->setPublic(false); $decoratedDefinition->setTags(array()); - $decoratedDefinition->setAutowiringTypes(array()); + if ($decoratedDefinition->getAutowiringTypes(false)) { + $decoratedDefinition->setAutowiringTypes(array()); + } $container->setDefinition($renamedId, $decoratedDefinition); } - $container->setAlias($inner, new Alias($id, $public)); + $container->setAlias($inner, $id)->setPublic($public)->setPrivate($private); } } }