8000 [Translation] Decouple TranslatorPathsPass from "debug." convention · adpauly/symfony@0a12ee6 · GitHub
[go: up one dir, main page]

Skip to content

Commit 0a12ee6

Browse files
[Translation] Decouple TranslatorPathsPass from "debug." convention
1 parent 0caf9c3 commit 0a12ee6

File tree

2 files changed

+13
-20
lines changed

2 files changed

+13
-20
lines changed

src/Symfony/Component/EventDispatcher/DependencyInjection/RegisterListenersPass.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ public function process(ContainerBuilder $container)
122122

123123
$dispatcherDefinition = $globalDispatcherDefinition;
124124
if (isset($event['dispatcher'])) {
125-
$dispatcherDefinition = $container->getDefinition($event['dispatcher']);
125+
$dispatcherDefinition = $container->findDefinition($event['dispatcher']);
126126
}
127127

128128
$dispatcherDefinition->addMethodCall('addListener'< 8000 /span>, [$event['event'], [new ServiceClosureArgument(new Reference($id)), $event['method']], $priority]);
@@ -161,7 +161,7 @@ public function process(ContainerBuilder $container)
161161
continue;
162162
}
163163

164-
$dispatcherDefinitions[$attributes['dispatcher']] = $container->getDefinition($attributes['dispatcher']);
164+
$dispatcherDefinitions[$attributes['dispatcher']] = $container->findDefinition($attributes['dispatcher']);
165165
}
166166

167167
if (!$dispatcherDefinitions) {

src/Symfony/Component/Translation/DependencyInjection/TranslatorPathsPass.php

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
use Symfony\Component\DependencyInjection\Definition;
1717
use Symfony\Component\DependencyInjection\Reference;
1818
use Symfony\Component\DependencyInjection\ServiceLocator;
19+
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\TraceableValueResolver;
1920

2021
/**
2122
* @author Yonel Ceruto <yonelceruto@gmail.com>
@@ -136,28 +137,20 @@ protected function processValue($value, bool $isRoot = false)
136137

137138
private function findControllerArguments(ContainerBuilder $container): array
138139
{
139-
if ($container->hasDefinition($this->resolverServiceId)) {
140-
$argument = $container->getDefinition($this->resolverServiceId)->getArgument(0);
141-
if ($argument instanceof Reference) {
142-
$argument = $container->getDefinition($argument);
143-
}
144-
145-
return $argument->getArgument(0);
140+
if (!$container->has($this->resolverServiceId)) {
141+
return [];
146142
}
143+
$resolverDef = $container->findDefinition($this->resolverServiceId);
147144

148-
if ($container->hasDefinition('debug.'.$this->resolverServiceId)) {
149-
$argument = $container->getDefinition('debug.'.$this->resolverServiceId)->getArgument(0);
150-
if ($argument instanceof Reference) {
151-
$argument = $container->getDefinition($argument);
152-
}
153-
$argument = $argument->getArgument(0);
154-
if ($argument instanceof Reference) {
155-
$argument = $container->getDefinition($argument);
156-
}
145+
if (TraceableValueResolver::class === $resolverDef->getClass()) {
146+
$resolverDef = $container->getDefinition($resolverDef->getArgument(0));
147+
}
157148

158-
return $argument->getArgument(0);
149+
$argument = $resolverDef->getArgument(0);
150+
if ($argument instanceof Reference) {
151+
$argument = $container->getDefinition($argument);
159152
}
160153

161-
return [];
154+
return $argument->getArgument(0);
162155
}
163156
}

0 commit comments

Comments
 (0)
0