Skip to content

Commit e8efad6

Browse files
committed
service-locator - pass requesting name when reading constructor
1 parent cd87c88 commit e8efad6

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

src/Definition/Source/AttributeBasedAutowiring.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,9 @@ private function getMethodInjection(ReflectionMethod $method) : ?MethodInjection
227227
$entryName = $this->getMethodParameter($index, $parameter, $attributeParameters);
228228

229229
if ($entryName !== null) {
230-
$parameters[$index] = new Reference($entryName);
230+
$parameters[$index] = $method->isConstructor() ?
231+
new Reference($entryName, $method->getDeclaringClass()->getName()) :
232+
new Reference($entryName);
231233
}
232234
}
233235

tests/UnitTest/Definition/Source/AttributeBasedAutowiringTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ public function testConstructor()
9292

9393
$parameters = $constructorInjection->getParameters();
9494
$this->assertCount(2, $parameters);
95-
$this->assertEquals(new Reference('foo'), $parameters[0]);
96-
$this->assertEquals(new Reference('bar'), $parameters[1]);
95+
$this->assertEquals(new Reference('foo', AttributeFixture::class), $parameters[0]);
96+
$this->assertEquals(new Reference('bar', AttributeFixture::class), $parameters[1]);
9797
}
9898

9999
public function testMethod1()
@@ -253,7 +253,7 @@ public function testPromotedProperties(): void
253253

254254
$parameters = $constructorInjection->getParameters();
255255
$this->assertCount(1, $parameters);
256-
$this->assertEquals(new Reference('foo'), $parameters[0]);
256+
$this->assertEquals(new Reference('foo', AttributeFixturePromotedProperty::class), $parameters[0]);
257257
}
258258

259259
private function getMethodInjection(ObjectDefinition $definition, $name) : ?MethodInjection

0 commit comments

Comments
 (0)