From 444aa9559467710cb11ff45414d9f3967a297a8f Mon Sep 17 00:00:00 2001
From: Philipp Scheit
Date: Thu, 19 Feb 2026 12:33:51 +0100
Subject: [PATCH] Add TraceableMessageBus stub with typed
getDispatchedMessages()
---
extension.neon | 1 +
.../Messenger/TraceableMessageBus.stub | 24 +++++++++++++++++++
tests/Type/Symfony/ExtensionTest.php | 2 ++
.../Symfony/data/traceable_message_bus.php | 14 +++++++++++
4 files changed, 41 insertions(+)
create mode 100644 stubs/Symfony/Component/Messenger/TraceableMessageBus.stub
create mode 100644 tests/Type/Symfony/data/traceable_message_bus.php
diff --git a/extension.neon b/extension.neon
index 94b171bd..052460a7 100644
--- a/extension.neon
+++ b/extension.neon
@@ -46,6 +46,7 @@ parameters:
- stubs/Symfony/Component/HttpFoundation/Session.stub
- stubs/Symfony/Component/Messenger/StampInterface.stub
- stubs/Symfony/Component/Messenger/Envelope.stub
+ - stubs/Symfony/Component/Messenger/TraceableMessageBus.stub
- stubs/Symfony/Component/OptionsResolver/Exception/InvalidOptionsException.stub
- stubs/Symfony/Component/OptionsResolver/Options.stub
- stubs/Symfony/Component/Process/Exception/LogicException.stub
diff --git a/stubs/Symfony/Component/Messenger/TraceableMessageBus.stub b/stubs/Symfony/Component/Messenger/TraceableMessageBus.stub
new file mode 100644
index 00000000..9c6f1acc
--- /dev/null
+++ b/stubs/Symfony/Component/Messenger/TraceableMessageBus.stub
@@ -0,0 +1,24 @@
+,
+ * message: object,
+ * caller: array{name: string, file: string|null, line: int|null},
+ * callTime: float,
+ * exception?: \Throwable,
+ * stamps_after_dispatch: list,
+ * }>
+ */
+ public function getDispatchedMessages(): array
+ {
+ }
+
+}
diff --git a/tests/Type/Symfony/ExtensionTest.php b/tests/Type/Symfony/ExtensionTest.php
index d02e9298..7e965cf5 100644
--- a/tests/Type/Symfony/ExtensionTest.php
+++ b/tests/Type/Symfony/ExtensionTest.php
@@ -22,6 +22,8 @@ public function dataFileAsserts(): iterable
}
yield from $this->gatherAssertTypes(__DIR__ . '/data/envelope_all.php');
+ yield from $this->gatherAssertTypes(__DIR__ . '/data/traceable_message_bus.php');
+
yield from $this->gatherAssertTypes(__DIR__ . '/data/header_bag_get.php');
yield from $this->gatherAssertTypes(__DIR__ . '/data/response_header_bag_get_cookies.php');
diff --git a/tests/Type/Symfony/data/traceable_message_bus.php b/tests/Type/Symfony/data/traceable_message_bus.php
new file mode 100644
index 00000000..5e31c95a
--- /dev/null
+++ b/tests/Type/Symfony/data/traceable_message_bus.php
@@ -0,0 +1,14 @@
+getDispatchedMessages();
+assertType('list, message: object, caller: array{name: string, file: string|null, line: int|null}, callTime: float, exception?: Throwable, stamps_after_dispatch: list}>', $messages);