Skip to content

Commit 108cc55

Browse files
[DependencyInjection] Fix dumping/loading errored definitions in XML/Yaml
1 parent c82adf2 commit 108cc55

File tree

3 files changed

+6
-16
lines changed

3 files changed

+6
-16
lines changed

Command/ContainerLintCommand.php

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,6 @@ private function getContainerBuilder(): ContainerBuilder
8888
return $this->buildContainer();
8989
}, $kernel, $kernel::class);
9090
$container = $buildContainer();
91-
92-
$skippedIds = [];
9391
} else {
9492
if (!$kernelContainer instanceof Container) {
9593
throw new RuntimeException(sprintf('This command does not support the application container: "%s" does not extend "%s".', get_debug_type($kernelContainer), Container::class));
@@ -100,13 +98,6 @@ private function getContainerBuilder(): ContainerBuilder
10098
$refl = new \ReflectionProperty($parameterBag, 'resolved');
10199
$refl->setValue($parameterBag, true);
102100

103-
$skippedIds = [];
104-
foreach ($container->getServiceIds() as $serviceId) {
105-
if (str_starts_with($serviceId, '.errored.')) {
106-
$skippedIds[$serviceId] = true;
107-
}
108-
}
109-
110101
$container->getCompilerPassConfig()->setBeforeOptimizationPasses([]);
111102
$container->getCompilerPassConfig()->setOptimizationPasses([]);
112103
$container->getCompilerPassConfig()->setBeforeRemovingPasses([]);
@@ -115,7 +106,7 @@ private function getContainerBuilder(): ContainerBuilder
115106
$container->setParameter('container.build_hash', 'lint_container');
116107
$container->setParameter('container.build_id', 'lint_container');
117108

118-
$container->addCompilerPass(new CheckTypeDeclarationsPass(true, $skippedIds), PassConfig::TYPE_AFTER_REMOVING, -100);
109+
$container->addCompilerPass(new CheckTypeDeclarationsPass(true), PassConfig::TYPE_AFTER_REMOVING, -100);
119110

120111
return $this->containerBuilder = $container;
121112
}

DependencyInjection/FrameworkExtension.php

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -375,13 +375,12 @@ public function load(array $configs, ContainerBuilder $container)
375375

376376
$this->registerSerializerConfiguration($config['serializer'], $container, $loader);
377377
} else {
378-
$container->register('.argument_resolver.request_payload.no_serializer', Serializer::class)
378+
$container->getDefinition('argument_resolver.request_payload')
379+
->setArguments([])
379380
->addError('You can neither use "#[MapRequestPayload]" nor "#[MapQueryString]" since the Serializer component is not '
380381
.(class_exists(Serializer::class) ? 'enabled. Try setting "framework.serializer" to true.' : 'installed. Try running "composer require symfony/serializer-pack".')
381-
);
382-
383-
$container->getDefinition('argument_resolver.request_payload')
384-
->replaceArgument(0, new Reference('.argument_resolver.request_payload.no_serializer', ContainerInterface::RUNTIME_EXCEPTION_ON_INVALID_REFERENCE))
382+
)
383+
->addTag('container.error')
385384
->clearTag('kernel.event_subscriber');
386385

387386
$container->removeDefinition('console.command.serializer_debug');

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
"ext-xml": "*",
2222
"symfony/cache": "^5.4|^6.0",
2323
"symfony/config": "^6.1",
24-
"symfony/dependency-injection": "^6.2.8",
24+
"symfony/dependency-injection": "^6.3",
2525
"symfony/deprecation-contracts": "^2.5|^3",
2626
"symfony/error-handler": "^6.1",
2727
"symfony/event-dispatcher": "^5.4|^6.0",

0 commit comments

Comments
 (0)