@@ 50-64 (lines=15) @@ | ||
47 | ||
48 | $classDescriptor = $instanceDescriptor->getClassDescriptor(); |
|
49 | /* @var $classDescriptor MoufReflectionClass */ |
|
50 | foreach ($classDescriptor->getInjectablePropertiesByConstructor() as $moufPropertyDescriptor) { |
|
51 | /* @var $moufPropertyDescriptor MoufPropertyDescriptor */ |
|
52 | $name = $moufPropertyDescriptor->getName(); |
|
53 | ||
54 | $value = $instanceDescriptor->getConstructorArgumentProperty($name)->getValue(); |
|
55 | if ($value instanceof MoufInstanceDescriptor) { |
|
56 | list($visitedInstances, $foundParameters) = self::recursiveFindParameters($value, $visitedInstances, $foundParameters); |
|
57 | } elseif (is_array($value)) { |
|
58 | foreach ($value as $val) { |
|
59 | if ($val instanceof MoufInstanceDescriptor) { |
|
60 | list($visitedInstances, $foundParameters) = self::recursiveFindParameters($val, $visitedInstances, $foundParameters); |
|
61 | } |
|
62 | } |
|
63 | } |
|
64 | } |
|
65 | ||
66 | foreach ($classDescriptor->getInjectablePropertiesBySetter() as $moufPropertyDescriptor) { |
|
67 | /* @var $moufPropertyDescriptor MoufPropertyDescriptor */ |
|
@@ 66-80 (lines=15) @@ | ||
63 | } |
|
64 | } |
|
65 | ||
66 | foreach ($classDescriptor->getInjectablePropertiesBySetter() as $moufPropertyDescriptor) { |
|
67 | /* @var $moufPropertyDescriptor MoufPropertyDescriptor */ |
|
68 | $name = $moufPropertyDescriptor->getName(); |
|
69 | ||
70 | $value = $instanceDescriptor->getSetterProperty($name)->getValue(); |
|
71 | if ($value instanceof MoufInstanceDescriptor) { |
|
72 | list($visitedInstances, $foundParameters) = self::recursiveFindParameters($value, $visitedInstances, $foundParameters); |
|
73 | } elseif (is_array($value)) { |
|
74 | foreach ($value as $val) { |
|
75 | if ($val instanceof MoufInstanceDescriptor) { |
|
76 | list($visitedInstances, $foundParameters) = self::recursiveFindParameters($val, $visitedInstances, $foundParameters); |
|
77 | } |
|
78 | } |
|
79 | } |
|
80 | } |
|
81 | ||
82 | foreach ($classDescriptor->getInjectablePropertiesByPublicProperty() as $moufPropertyDescriptor) { |
|
83 | /* @var $moufPropertyDescriptor MoufPropertyDescriptor */ |
|
@@ 82-96 (lines=15) @@ | ||
79 | } |
|
80 | } |
|
81 | ||
82 | foreach ($classDescriptor->getInjectablePropertiesByPublicProperty() as $moufPropertyDescriptor) { |
|
83 | /* @var $moufPropertyDescriptor MoufPropertyDescriptor */ |
|
84 | $name = $moufPropertyDescriptor->getName(); |
|
85 | ||
86 | $value = $instanceDescriptor->getInjectablePropertiesByPublicProperty($name)->getValue(); |
|
87 | if ($value instanceof MoufInstanceDescriptor) { |
|
88 | list($visitedInstances, $foundParameters) = self::recursiveFindParameters($value, $visitedInstances, $foundParameters); |
|
89 | } elseif (is_array($value)) { |
|
90 | foreach ($value as $val) { |
|
91 | if ($val instanceof MoufInstanceDescriptor) { |
|
92 | list($visitedInstances, $foundParameters) = self::recursiveFindParameters($val, $visitedInstances, $foundParameters); |
|
93 | } |
|
94 | } |
|
95 | } |
|
96 | } |
|
97 | ||
98 | return array($visitedInstances, $foundParameters); |
|
99 | } |