@@ -363,6 +363,59 @@ private function addClassToDependencies(string $className, array &$dependenciesR
363363 }
364364 }
365365
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+
366419 $ classReflection = $ classReflection ->getParentClass ();
367420 } while ($ classReflection !== null );
368421 }
0 commit comments