From c1ec139c25047bb5956a325d4569ef9ef5f1f214 Mon Sep 17 00:00:00 2001 From: Christian Flothmann Date: Fri, 28 Apr 2023 14:31:05 +0200 Subject: [PATCH] throw again if non-excluded abstract services are tagged --- .../Translation/DependencyInjection/TranslatorPass.php | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/Symfony/Component/Translation/DependencyInjection/TranslatorPass.php b/src/Symfony/Component/Translation/DependencyInjection/TranslatorPass.php index dd6ea3c831b84..fc43cb7323a0a 100644 --- a/src/Symfony/Component/Translation/DependencyInjection/TranslatorPass.php +++ b/src/Symfony/Component/Translation/DependencyInjection/TranslatorPass.php @@ -56,12 +56,10 @@ public function process(ContainerBuilder $container) $constraintVisitorDefinition = $container->getDefinition('translation.extractor.visitor.constraint'); $constraintClassNames = []; - foreach ($container->getDefinitions() as $definition) { - if (!$definition->hasTag('validator.constraint_validator')) { - continue; - } + foreach ($container->findTaggedServiceIds('validator.constraint_validator', true) as $definition) { + $serviceDefinition = $container->getDefinition($id); // Resolve constraint validator FQCN even if defined as %foo.validator.class% parameter - $className = $container->getParameterBag()->resolveValue($definition->getClass()); + $className = $container->getParameterBag()->resolveValue($serviceDefinition->getClass()); // Extraction of the constraint class name from the Constraint Validator FQCN $constraintClassNames[] = str_replace('Validator', '', substr(strrchr($className, '\\'), 1)); }