Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 0acbc9e

Browse files
committed
AnalyzeServiceReferencesPass and CheckExceptionOnInvalidReferenceBehaviorPass just after RemoveUnusedDefinitionsPass
1 parent f409d54 commit 0acbc9e

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ public function __construct()
7474
$this->beforeRemovingPasses = [
7575
-100 => [
7676
new ResolvePrivatesPass(),
77-
new CheckExceptionOnInvalidReferenceBehaviorPass(),
7877
],
7978
];
8079

@@ -83,8 +82,9 @@ public function __construct()
8382
new ReplaceAliasByActualDefinitionPass(),
8483
new RemoveAbstractDefinitionsPass(),
8584
new RemoveUnusedDefinitionsPass(),
86-
new InlineServiceDefinitionsPass(new AnalyzeServiceReferencesPass()),
8785
new AnalyzeServiceReferencesPass(),
86+
new CheckExceptionOnInvalidReferenceBehaviorPass(),
87+
new InlineServiceDefinitionsPass(new AnalyzeServiceReferencesPass()),
8888
new DefinitionErrorExceptionPass(),
8989
]];
9090

src/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1338,6 +1338,25 @@ public function testGetThrownServiceNotFoundExceptionWithCorrectServiceId()
13381338
$container->compile();
13391339
}
13401340

1341+
public function testUnusedServiceRemovedByPassAndServiceNotFoundExceptionWasNotThrown()
1342+
{
1343+
$container = new ContainerBuilder();
1344+
$container->register('service', \stdClass::class)
1345+
->setPublic(false)
1346+
->addArgument([
1347+
'non_existent_service' => new Reference('non_existent_service'),
1348+
])
1349+
;
1350+
1351+
try {
1352+
$container->compile();
1353+
} catch (ServiceNotFoundException $e) {
1354+
$this->fail('Should not be thrown');
1355+
}
1356+
1357+
$this->addToAssertionCount(1);
1358+
}
1359+
13411360
public function testServiceLocator()
13421361
{
13431362
$container = new ContainerBuilder();

0 commit comments

Comments
 (0)