@@ -363,6 +363,59 @@ private function addClassToDependencies(string $className, array &$dependenciesR
363
363
}
364
364
}
365
365
366
+ foreach ($ classReflection ->getPropertyTags () as $ propertyTag ) {
367
+ foreach ($ propertyTag ->getType ()->getReferencedClasses () as $ referencedClass ) {
368
+ if (!$ this ->reflectionProvider ->hasClass ($ referencedClass )) {
369
+ continue ;
370
+ }
371
+ $ dependenciesReflections [] = $ this ->reflectionProvider ->getClass ($ referencedClass );
372
+ }
373
+ }
374
+
375
+ foreach ($ classReflection ->getMethodTags () as $ methodTag ) {
376
+ foreach ($ methodTag ->getReturnType ()->getReferencedClasses () as $ referencedClass ) {
377
+ if (!$ this ->reflectionProvider ->hasClass ($ referencedClass )) {
378
+ continue ;
379
+ }
380
+ $ dependenciesReflections [] = $ this ->reflectionProvider ->getClass ($ referencedClass );
381
+ }
382
+ foreach ($ methodTag ->getParameters () as $ parameter ) {
383
+ foreach ($ parameter ->getType ()->getReferencedClasses () as $ referencedClass ) {
384
+ if (!$ this ->reflectionProvider ->hasClass ($ referencedClass )) {
385
+ continue ;
386
+ }
387
+ $ dependenciesReflections [] = $ this ->reflectionProvider ->getClass ($ referencedClass );
388
+ }
389
+ if ($ parameter ->getDefaultValue () === null ) {
390
+ continue ;
391
+ }
392
+ foreach ($ parameter ->getDefaultValue ()->getReferencedClasses () as $ referencedClass ) {
393
+ if (!$ this ->reflectionProvider ->hasClass ($ referencedClass )) {
394
+ continue ;
395
+ }
396
+ $ dependenciesReflections [] = $ this ->reflectionProvider ->getClass ($ referencedClass );
397
+ }
398
+ }
399
+ }
400
+
401
+ foreach ($ classReflection ->getExtendsTags () as $ extendsTag ) {
402
+ foreach ($ extendsTag ->getType ()->getReferencedClasses () as $ referencedClass ) {
403
+ if (!$ this ->reflectionProvider ->hasClass ($ referencedClass )) {
404
+ continue ;
405
+ }
406
+ $ dependenciesReflections [] = $ this ->reflectionProvider ->getClass ($ referencedClass );
407
+ }
408
+ }
409
+
410
+ foreach ($ classReflection ->getImplementsTags () as $ implementsTag ) {
411
+ foreach ($ implementsTag ->getType ()->getReferencedClasses () as $ referencedClass ) {
412
+ if (!$ this ->reflectionProvider ->hasClass ($ referencedClass )) {
413
+ continue ;
414
+ }
415
+ $ dependenciesReflections [] = $ this ->reflectionProvider ->getClass ($ referencedClass );
416
+ }
417
+ }
418
+
366
419
$ classReflection = $ classReflection ->getParentClass ();
367
420
} while ($ classReflection !== null );
368
421
}
0 commit comments