summaryrefslogtreecommitdiff
path: root/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php')
-rw-r--r--vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php17
1 files changed, 14 insertions, 3 deletions
diff --git a/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php b/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php
index b3cf56c502..082e2a05d4 100644
--- a/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php
+++ b/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php
@@ -22,15 +22,26 @@ class ImmutableEventDispatcher implements EventDispatcherInterface
public function __construct(EventDispatcherInterface $dispatcher)
{
- $this->dispatcher = $dispatcher;
+ $this->dispatcher = LegacyEventDispatcherProxy::decorate($dispatcher);
}
/**
* {@inheritdoc}
+ *
+ * @param string|null $eventName
*/
- public function dispatch($eventName, Event $event = null)
+ public function dispatch($event/*, string $eventName = null*/)
{
- return $this->dispatcher->dispatch($eventName, $event);
+ $eventName = 1 < \func_num_args() ? \func_get_arg(1) : null;
+
+ if (\is_scalar($event)) {
+ // deprecated
+ $swap = $event;
+ $event = $eventName ?? new Event();
+ $eventName = $swap;
+ }
+
+ return $this->dispatcher->dispatch($event, $eventName);
}
/**