8000 copy synthetic status when resolving child definitions · symfony/symfony@75bb8f8 · GitHub
[go: up one dir, main page]

Skip to content

Commit 75bb8f8

Browse files
committed
copy synthetic status when resolving child definitions
1 parent c3674b4 commit 75bb8f8

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

src/Symfony/Component/DependencyInjection/Compiler/ResolveChildDefinitionsPass.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ private function doResolveDefinition(ChildDefinition $definition): Definition
111111
$def->setLazy($parentDef->isLazy());
112112
$def->setAutowired($parentDef->isAutowired());
113113
$def->setChanges($parentDef->getChanges());
114+
$def->setSynthetic($parentDef->isSynthetic());
114115

115116
$def->setBindings($definition->getBindings() + $parentDef->getBindings());
116117

src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveChildDefinitionsPassTest.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -412,4 +412,23 @@ public function testProcessDetectsChildDefinitionIndirectCircularReference()
412412

413413
$this->process($container);
414414
}
415+
416+
public function testProcessCopiesSyntheticStatus()
417+
{
418+
$container = new ContainerBuilder();
419+
420+
$container
421+
->register('parent')
422+
->setSynthetic(true)
423+
;
424+
425+
$container
426+
->setDefinition('child', new ChildDefinition('parent'))
427+
;
428+
429+
$this->process($container);
430+
431+
$def = $container->getDefinition('child');
432+
$this->assertTrue($def->isSynthetic());
433+
}
415434
}

0 commit comments

Comments
 (0)
0