display real handler if handler is wrapped

This commit is contained in:
David Badura 2019-08-11 15:38:46 +02:00
parent 43739dbf53
commit e6ce9b560c

View File

@ -70,6 +70,7 @@ class MessengerPass implements CompilerPassInterface
{
$definitions = [];
$handlersByBusAndMessage = [];
$handlerToOriginalServiceIdMapping = [];
foreach ($container->findTaggedServiceIds($this->handlerTag, true) as $serviceId => $tags) {
foreach ($tags as $tag) {
@ -140,6 +141,8 @@ class MessengerPass implements CompilerPassInterface
$definitionId = $serviceId;
}
$handlerToOriginalServiceIdMapping[$definitionId] = $serviceId;
foreach ($buses as $handlerBus) {
$handlersByBusAndMessage[$handlerBus][$message][$priority][] = [$definitionId, $options];
}
@ -189,6 +192,12 @@ class MessengerPass implements CompilerPassInterface
if (!isset($debugCommandMapping[$bus])) {
$debugCommandMapping[$bus] = [];
}
foreach ($debugCommandMapping[$bus] as $message => $handlers) {
foreach ($handlers as $key => $handler) {
$debugCommandMapping[$bus][$message][$key][0] = $handlerToOriginalServiceIdMapping[$handler[0]];
}
}
}
$container->getDefinition('console.command.messenger_debug')->replaceArgument(0, $debugCommandMapping);
}