@@ -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