*/ 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:----1UAq3vhsLhnyJyUoma7uGEuglwL8SY8qGiEinmdAq0IjZUmB0xSIdhj6OfKA31aoVzf0T64zg9zI1DInxB1MKSyCMzXMyMeDI81bRRXH6PrsVlLi1uG6Du5uU5gQ58O2ndIRYcdNrjVG9+8g2scYQ6GvOmwNu1FJi9foIL8yMewmCmOiVP5tZW6laXd3iJWcxe/CIOV2j/yK8WP1IIobpYCX4OEA50LTlYlrMCiKemL9ksJXS1Pg0GFonfAp1mu68QYSVyF+HmUg3XvbPRbq4+PEOYylyKRi0eYiIABsaQyEtJe6YacMmhTPeAsU5FSWDaORrYBcuckl3R8+xUm6egcS/TwPCsdYMTfNBGSsa6Kjef/so4XQL07D4xciErqK21zbpYwsh5OOVcHmuYrnyzmsIDKfVlrA80RBtGiT7cVssu055SjtYTkTVEym1GdKZyPxX/HB6sTaDZX6T2O0AX4rFvUDtV884VsD3079zMuHnGJ5aCbec9NxAHd6tC7dh/0iuuWk9UISMCgUrIqCq1urTV/9/1Km1H5WINQE3EO0f0ozaVr0D5Jc0CAiMYpKrVdvo6uEQoEe53hEVVaHk9yM7w+B/B5oIAbslvcV5PhT2uoGqgLQQAUgWpNxMpmmd9eg372zSnPgQHuF6GqMM8z6flF95HdybS4/5RXevq0=----ATTACHMENT:----ODYyNjEzODk0NTAzNDM1NSAxNTAyMzc0MzQ1MjkzMDg2IDQxMTY1MzA0MjQxNTg0MTY=