Nelmio\Alice\Generator\Resolver\Parameter\Chainable\StringParameterResolver::resolveStringKey PHP Method

resolveStringKey() private method

private resolveStringKey ( Nelmio\Alice\Generator\Resolver\ParameterResolverInterface $resolver = null, Parameter $parameter, string $key, ParameterBag $unresolvedParameters, ParameterBag $resolvedParameters, ResolvingContext $context ) : ParameterBag
$resolver Nelmio\Alice\Generator\Resolver\ParameterResolverInterface
$parameter Nelmio\Alice\Parameter Parameter being resolved
$key string Key of the parameter that need to be resolved to resolve $parameter
$unresolvedParameters Nelmio\Alice\ParameterBag
$resolvedParameters Nelmio\Alice\ParameterBag
$context Nelmio\Alice\Generator\Resolver\ResolvingContext
return Nelmio\Alice\ParameterBag
    private function resolveStringKey(ParameterResolverInterface $resolver = null, Parameter $parameter, string $key, ParameterBag $unresolvedParameters, ParameterBag $resolvedParameters, ResolvingContext $context) : ParameterBag
    {
        if ($resolvedParameters->has($key)) {
            return $resolvedParameters;
        }
        if (false === $unresolvedParameters->has($key)) {
            throw ParameterNotFoundExceptionFactory::createForWhenResolvingParameter($key, $parameter);
        }
        $context->checkForCircularReference($key);
        $context->add($key);
        if (null === $resolver) {
            throw ResolverNotFoundExceptionFactory::createUnexpectedCall(__METHOD__);
        }
        return $resolver->resolve(new Parameter($key, $unresolvedParameters->get($key)), $unresolvedParameters, $resolvedParameters, $context);
    }