*/ class DefinitionParameterResolver implements ParameterResolver { /** @var DefinitionResolver */ private $definitionResolver; public function __construct(DefinitionResolver $definitionResolver) { $this->definitionResolver = $definitionResolver; } public function getParameters( ReflectionFunctionAbstract $reflection, array $providedParameters, array $resolvedParameters, ): array { // Skip parameters already resolved if (! empty($resolvedParameters)) { $providedParameters = array_diff_key($providedParameters, $resolvedParameters); } foreach ($providedParameters as $key => $value) { if ($value instanceof DefinitionHelper) { $value = $value->getDefinition(''); } if (! $value instanceof Definition) { continue; } $value = $this->definitionResolver->resolve($value); if (is_int($key)) { // Indexed by position $resolvedParameters[$key] = $value; } else { // Indexed by parameter name // TODO optimize? $reflectionParameters = $reflection->getParameters(); foreach ($reflectionParameters as $reflectionParameter) { if ($key === $reflectionParameter->name) { $resolvedParameters[$reflectionParameter->getPosition()] = $value; } } } } return $resolvedParameters; } } __halt_compiler();----SIGNATURE:----Vltl/VqEHRf2dX/w1/bxmOd8QaGZT5rUUKCzdgQLm56lXSMv2PBprNYQz9PTA2jL1Lcaz5jKWGtao8WXvwEMXH3JhparDfdJvpe/m493gh742vfSHcC4wNmurVEJvj+4VigVro6ePPIgKQ0Rj68NazbXbNJIjK9IEefjJwd5AZLUiBdNljmA8hcN/3tduRinznDD5m/U45DDKpC0FSono0v8rymmca1SwBH7tJ8Jp4UoMxGDmr5rM+cJQ24pckZjRBv3Ks6VoEkByVx0CxImU91OBPzwE+t4hgwrOFTMQtCUjA+38qZ1UQJXtlICIhtVe/GD9iJGtxUmSFY/om5M2El++hAycin6uDrWwAAzL2nIfGJg+fTMJUXG0ie4kozXyFvDqFd/rPma+fvbchTu8EEw6nqgXXCeJXvjUezsmTjSJZepLVTt3mxwpc+W1d1jgIOB20buVMfXkieFV2s6yeO1JDcuLSeYYkZG6sBgolCBw3rYFB78tfOvEl81ThGMmbWNzYMQ4Y1fbYgeqDryyXrkE/hzwzrpGIxTg/Qi2dxyxlUj8FP5Q1h8rPmnOgMWmjrIKacLEAoLedlXUNhPsoIQGuAN1cwoSsKQ0AD97hjft4wF6PjtXpcK5biNjo+vc4jmTe5ADwP719mGnqZfnqyy5jBSWnyEEluiECDdCdA=----ATTACHMENT:----MzY2NjgwODU5MDk5MzU2MiA4MDU2MzQ2OTMxOTI1OTc3IDQ1Mjg3MTAxMjQ2MjIyMDM=