Skip to content

Commit 8fc3cdc

Browse files
committed
fixes
1 parent da2b9fc commit 8fc3cdc

File tree

1 file changed

+9
-18
lines changed

1 file changed

+9
-18
lines changed

packages/Ecotone/src/AnnotationFinder/InMemory/InMemoryAnnotationFinder.php

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -131,10 +131,10 @@ public function getAnnotationsForProperty(string $className, string $propertyNam
131131
*/
132132
public function findCombined(string $classAnnotationName, string $methodAnnotationClassName): array
133133
{
134-
$classesWithAnnotations = $this->getAllClassesWithAnnotation($classAnnotationName);
134+
$classes = $this->getAllClassesWithAnnotation($classAnnotationName);
135135

136136
$registrations = [];
137-
foreach ($classesWithAnnotations as ['class' => $class, 'annotation' => $classAnnotation]) {
137+
foreach ($classes as $class) {
138138
if (! isset($this->annotationsForClass[$class])) {
139139
continue;
140140
}
@@ -143,7 +143,7 @@ public function findCombined(string $classAnnotationName, string $methodAnnotati
143143
foreach ($methodAnnotations as $methodAnnotation) {
144144
if (get_class($methodAnnotation) == $methodAnnotationClassName || $methodAnnotation instanceof $methodAnnotationClassName) {
145145
$registrations[] = AnnotatedDefinition::create(
146-
$classAnnotation,
146+
$this->annotationsForClass[self::CLASS_ANNOTATIONS][$class][$classAnnotationName],
147147
$methodAnnotation,
148148
$class,
149149
$methodName,
@@ -158,26 +158,18 @@ public function findCombined(string $classAnnotationName, string $methodAnnotati
158158
return $registrations;
159159
}
160160

161-
/**
162-
* @return array<array{class: string, annotation: object|null}>
163-
*/
164161
private function getAllClassesWithAnnotation(string $annotationClassName): array
165162
{
166163
if ($annotationClassName === '*') {
167-
$result = [];
168-
foreach (array_keys($this->annotationsForClass[self::CLASS_ANNOTATIONS]) as $className) {
169-
$result[] = ['class' => $className, 'annotation' => null];
170-
}
171-
return $result;
164+
return array_keys($this->annotationsForClass[self::CLASS_ANNOTATIONS]);
172165
}
173166

174167
$classes = [];
175168

176169
foreach ($this->annotationsForClass[self::CLASS_ANNOTATIONS] as $className => $annotations) {
177170
foreach ($annotations as $annotation) {
178-
if ($annotation instanceof $annotationClassName) {
179-
$classes[] = ['class' => $className, 'annotation' => $annotation];
180-
break; // Only add each class once
171+
if (get_class($annotation) == $annotationClassName) {
172+
$classes[] = $className;
181173
}
182174
}
183175
}
@@ -194,9 +186,8 @@ public function findAnnotatedClasses(string $annotationClassName): array
194186

195187
foreach ($this->annotationsForClass[self::CLASS_ANNOTATIONS] as $className => $annotations) {
196188
foreach ($annotations as $annotation) {
197-
if ($annotation instanceof $annotationClassName) {
189+
if (get_class($annotation) == $annotationClassName) {
198190
$classes[] = $className;
199-
break; // Only add each class once
200191
}
201192
}
202193
}
@@ -209,10 +200,10 @@ public function findAnnotatedClasses(string $annotationClassName): array
209200
*/
210201
public function findAnnotatedMethods(string $methodAnnotationClassName): array
211202
{
212-
$classesWithAnnotations = $this->getAllClassesWithAnnotation('*');
203+
$classes = $this->getAllClassesWithAnnotation('*');
213204

214205
$registrations = [];
215-
foreach ($classesWithAnnotations as ['class' => $class]) {
206+
foreach ($classes as $class) {
216207
if (! isset($this->annotationsForClass[$class])) {
217208
continue;
218209
}

0 commit comments

Comments
 (0)