Skip to content

Commit 6f54fea

Browse files
committed
Fix listener
1 parent 908683b commit 6f54fea

2 files changed

Lines changed: 18 additions & 5 deletions

File tree

‎src/DeclarationLocator.php‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
use Temporal\Workflow\WorkflowInterface;
1515

1616
#[Singleton]
17-
#[TargetAttribute(WorkflowInterface::class)]
18-
#[TargetAttribute(ActivityInterface::class)]
17+
// #[TargetAttribute(WorkflowInterface::class)]
18+
// #[TargetAttribute(ActivityInterface::class)]
1919
final class DeclarationLocator implements
2020
DeclarationRegistryInterface,
2121
TokenizationListenerInterface,
@@ -63,13 +63,13 @@ public function listen(\ReflectionClass $class): void
6363
/** @var DeclarationType|null $type */
6464
$type = null;
6565

66-
foreach (\array_merge($class->getInterfaces(), [$class]) as $type) {
67-
if ($this->reader->firstClassMetadata($type, WorkflowInterface::class) !== null) {
66+
foreach (\array_merge($class->getInterfaces(), [$class]) as $reflection) {
67+
if ($this->reader->firstClassMetadata($reflection, WorkflowInterface::class) !== null) {
6868
$type = DeclarationType::Workflow;
6969
break;
7070
}
7171

72-
if ($this->reader->firstClassMetadata($type, ActivityInterface::class) !== null) {
72+
if ($this->reader->firstClassMetadata($reflection, ActivityInterface::class) !== null) {
7373
$type = DeclarationType::Activity;
7474
break;
7575
}

‎tests/src/DeclarationLocatorTest.php‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,19 @@ class: new \ReflectionClass(TestActivityClassWithInterface::class),
181181
$this->assertSame(ActivityInterface::class, $result[3][0]);
182182
$this->assertSame(TestActivityClassWithInterface::class, $result[3][1]->getName());
183183
}
184+
185+
public function testWrongClasses(): void
186+
{
187+
$this->locator->listen(new \ReflectionClass(\stdClass::class));
188+
189+
$result = [];
190+
191+
foreach ($this->locator->getDeclarations() as $type => $class) {
192+
$result[] = [$type, $class];
193+
}
194+
195+
$this->assertCount(0, $result);
196+
}
184197
}
185198

186199
enum TestEnum

0 commit comments

Comments
 (0)