namespace Symfony\Component\DependencyInjection\Compiler;
-use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\DependencyInjection\Definition;
use Symfony\Component\DependencyInjection\Reference;
use Symfony\Component\DependencyInjection\ContainerBuilder;
continue;
}
- if ($this->isInlineableDefinition($container, $id, $definition = $container->getDefinition($id))) {
+ if ($this->isInlineableDefinition($id, $definition = $container->getDefinition($id))) {
$this->compiler->addLogMessage($this->formatter->formatInlineService($this, $id, $this->currentId));
- if ($definition->isShared() && ContainerInterface::SCOPE_PROTOTYPE !== $definition->getScope(false)) {
+ if ($definition->isShared()) {
$arguments[$k] = $definition;
} else {
$arguments[$k] = clone $definition;
/**
* Checks if the definition is inlineable.
*
- * @param ContainerBuilder $container
- * @param string $id
- * @param Definition $definition
+ * @param string $id
+ * @param Definition $definition
*
* @return bool If the definition is inlineable
*/
- private function isInlineableDefinition(ContainerBuilder $container, $id, Definition $definition)
+ private function isInlineableDefinition($id, Definition $definition)
{
- if (!$definition->isShared() || ContainerInterface::SCOPE_PROTOTYPE === $definition->getScope(false)) {
+ if (!$definition->isShared()) {
return true;
}
- if ($definition->isPublic() || $definition->isLazy()) {
+ if ($definition->isDeprecated() || $definition->isPublic() || $definition->isLazy()) {
return false;
}
return false;
}
- if (count($ids) > 1 && $definition->getFactoryService(false)) {
- return false;
- }
-
- return $container->getDefinition(reset($ids))->getScope(false) === $definition->getScope(false);
+ return true;
}
}