*/ class DefinitionParameterResolver implements ParameterResolver { public function __construct( private 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:----HzW+IMTzrI+CWDxL+MCQR2PVTZUoS1oEVJrNLcdbU8KkwnW8dUz+0ukIR2OqRBjvceTALJECQoWJIMe19Tfc2uRKVSIzVdvwgqMdLp44tilRFsV7908FzqoJaUlPB72CkocjMhhcRHSQHQALxvaOcXb+JLGWR2jOlJs9g//qVVN/tGne0stqkrZK5giAfFhP9ofb8F3kb9rVbwKXYqZkM77SCLWMaGxeT5VGQ3TdehGYT7x7NYeTX8r8RAbXayf1A3uqoSczdL0ngdRxjbKV585/YoSFieIsafSuxQwF9Y7Ij6Dmjbc6Fl3Yi8FyYYnyj6Koctd4rKyZLxfiGotI1wGyma3Jr147KNv+j3eU9gToIIhbdp2LQWYvXOSd+bVzrWnkNZxz57Ieij8e8OzUY60H+Z0xGBvfEENzn1050U3xQUvwFAI3/bGqYMBSdduqj5NAlg1XzKheGwYy5CHpbgW0cljF2jBdg9rBOuZvy/G1Gk2EIkno/oXQN4AELJT+G/gveNstGGNoWbMCx0TF0I83oE1yniHysscbs6njshxvpmR7sr2M2Gt7OxGdC9PSHTJ+NqF9QqKeUb7WNnH50W8cmcDv0rm/QK5D4CGnPyXBxnJZUJyvfcNt7mzQcnuQvIfn5xvYr7uvJSNVq7BrwpNOm+RhnzbjCMN3Y4HAKRs=----ATTACHMENT:----MzUyMzEwNDE2MzM0NTQ5NyA2ODUzNjkxNzc2MDg1OTE4IDc3NTEyMDAwMzQxMDQ3MzU=