comparison vendor/symfony/dependency-injection/Compiler/DecoratorServicePass.php @ 14:1fec387a4317

Update Drupal core to 8.5.2 via Composer
author Chris Cannam
date Mon, 23 Apr 2018 09:46:53 +0100
parents 4c8ae668cc8c
children 129ea1e6d783
comparison
equal deleted inserted replaced
13:5fb285c0d0e3 14:1fec387a4317
47 // we create a new alias/service for the service we are replacing 47 // we create a new alias/service for the service we are replacing
48 // to be able to reference it in the new one 48 // to be able to reference it in the new one
49 if ($container->hasAlias($inner)) { 49 if ($container->hasAlias($inner)) {
50 $alias = $container->getAlias($inner); 50 $alias = $container->getAlias($inner);
51 $public = $alias->isPublic(); 51 $public = $alias->isPublic();
52 $container->setAlias($renamedId, new Alias((string) $alias, false)); 52 $private = $alias->isPrivate();
53 $container->setAlias($renamedId, new Alias($container->normalizeId($alias), false));
53 } else { 54 } else {
54 $decoratedDefinition = $container->getDefinition($inner); 55 $decoratedDefinition = $container->getDefinition($inner);
55 $definition->setTags(array_merge($decoratedDefinition->getTags(), $definition->getTags())); 56 $definition->setTags(array_merge($decoratedDefinition->getTags(), $definition->getTags()));
56 $definition->setAutowiringTypes(array_merge($decoratedDefinition->getAutowiringTypes(), $definition->getAutowiringTypes())); 57 if ($types = array_merge($decoratedDefinition->getAutowiringTypes(false), $definition->getAutowiringTypes(false))) {
58 $definition->setAutowiringTypes($types);
59 }
57 $public = $decoratedDefinition->isPublic(); 60 $public = $decoratedDefinition->isPublic();
61 $private = $decoratedDefinition->isPrivate();
58 $decoratedDefinition->setPublic(false); 62 $decoratedDefinition->setPublic(false);
59 $decoratedDefinition->setTags(array()); 63 $decoratedDefinition->setTags(array());
60 $decoratedDefinition->setAutowiringTypes(array()); 64 if ($decoratedDefinition->getAutowiringTypes(false)) {
65 $decoratedDefinition->setAutowiringTypes(array());
66 }
61 $container->setDefinition($renamedId, $decoratedDefinition); 67 $container->setDefinition($renamedId, $decoratedDefinition);
62 } 68 }
63 69
64 $container->setAlias($inner, new Alias($id, $public)); 70 $container->setAlias($inner, $id)->setPublic($public)->setPrivate($private);
65 } 71 }
66 } 72 }
67 } 73 }