From c02de845e7da513a53724c6b1906f5bab4530960 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Thu, 6 Apr 2017 16:56:22 +0200 Subject: [PATCH] [DI] Fix second auto-registration --- .../Component/DependencyInjection/Compiler/AutowirePass.php | 3 ++- .../DependencyInjection/Tests/Compiler/AutowirePassTest.php | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Symfony/Component/DependencyInjection/Compiler/AutowirePass.php b/src/Symfony/Component/DependencyInjection/Compiler/AutowirePass.php index 5d968148e2..b279548553 100644 --- a/src/Symfony/Component/DependencyInjection/Compiler/AutowirePass.php +++ b/src/Symfony/Component/DependencyInjection/Compiler/AutowirePass.php @@ -116,7 +116,8 @@ class AutowirePass implements CompilerPassInterface } if (isset($this->autowired[$typeHint->name])) { - return $this->autowired[$typeHint->name] ? new Reference($this->autowired[$typeHint->name]) : null; + $arguments[$index] = $this->autowired[$typeHint->name] ? new Reference($this->autowired[$typeHint->name]) : null; + continue; } if (null === $this->types) { diff --git a/src/Symfony/Component/DependencyInjection/Tests/Compiler/AutowirePassTest.php b/src/Symfony/Component/DependencyInjection/Tests/Compiler/AutowirePassTest.php index 5d15ecc0bb..60b73c18f2 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Compiler/AutowirePassTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Compiler/AutowirePassTest.php @@ -212,8 +212,9 @@ class AutowirePassTest extends TestCase $pass = new AutowirePass(); $pass->process($container); - $this->assertCount(1, $container->getDefinition('coop_tilleuls')->getArguments()); + $this->assertCount(2, $container->getDefinition('coop_tilleuls')->getArguments()); $this->assertEquals('autowired.symfony\component\dependencyinjection\tests\compiler\dunglas', $container->getDefinition('coop_tilleuls')->getArgument(0)); + $this->assertEquals('autowired.symfony\component\dependencyinjection\tests\compiler\dunglas', $container->getDefinition('coop_tilleuls')->getArgument(1)); $dunglasDefinition = $container->getDefinition('autowired.Symfony\Component\DependencyInjection\Tests\Compiler\Dunglas'); $this->assertEquals(__NAMESPACE__.'\Dunglas', $dunglasDefinition->getClass()); @@ -600,7 +601,7 @@ class Dunglas class LesTilleuls { - public function __construct(Dunglas $k) + public function __construct(Dunglas $j, Dunglas $k) { } }