8000 [DI] Fix dumping null ServiceClosureArgument · symfony/symfony@35977fd · GitHub
[go: up one dir, main page]

Skip to content

Commit 35977fd

Browse files
[DI] Fix dumping null ServiceClosureArgument
1 parent d236af6 commit 35977fd

File tree

3 files changed

+5
-1
lines changed

3 files changed

+5
-1
lines changed

src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1690,7 +1690,7 @@ private function dumpValue($value, $interpolate = true)
16901690
return $this->export($value);
16911691
}
16921692

1693-
private function dumpServiceClosure(Reference $reference, $interpolate, $oneLine)
1693+
private function dumpServiceClosure(Reference $reference = null, $interpolate, $oneLine)
16941694
{
16951695
$code = $this->dumpValue($reference, $interpolate);
16961696

src/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -657,8 +657,10 @@ public function testServiceLocator()
657657
->addArgument(array(
658658
'bar' => new ServiceClosureArgument(new Reference('bar_service')),
659659
'baz' => new ServiceClosureArgument(new TypedReference('baz_service', 'stdClass')),
660+
'nil' => $nil = new ServiceClosureArgument(new Reference('nil')),
660661
))
661662
;
663+
$nil->setValues(array(null));
662664
$container->register('bar_service', 'stdClass')->setArguments(array(new Reference('baz_service')));
663665
$container->register('baz_service', 'stdClass')->setPublic(false);
664666
$container->compile();

src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services_locator.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ protected function getFooServiceService()
8888
return ${($_ = isset($this->services['bar_service']) ? $this->services['bar_service'] : $this->get('bar_service')) && false ?: '_'};
8989
}, 'baz' => function () {
9090
$f = function (\stdClass $v) { return $v; }; return $f(${($_ = isset($this->services['baz_service']) ? $this->services['baz_service'] : $this->getBazServiceService()) && false ?: '_'});
91+
}, 'nil' => function () {
92+
return NULL;
9193
}));
9294
}
9395

0 commit comments

Comments
 (0)
0