src/Viserio/Component/Container/Container.php
public function resolveBound(string $abstract, array $parameters = [])
    {
        $binding     = $this->bindings[$abstract];
        $concrete    = $binding[TypesContract::VALUE];
        $bindingType = $binding[TypesContract::BINDING_TYPE];

        if ($this->isComputed($binding)) {
            return $binding[TypesContract::VALUE];
        }

        if ($concrete instanceof Closure) {
            \array_unshift($parameters, $this);
        }

        if ($bindingType === TypesContract::PLAIN) {
            $resolved = $this->resolvePlain($abstract);
        } elseif ($bindingType === TypesContract::SERVICE) {
            $resolved = $this->resolveService($abstract, $parameters);
        } else {
            $resolved = $this->resolveSingleton($abstract, $parameters);
        }

        if (\is_string($abstract)) {
            $this->extendResolved($abstract, $resolved);
        }

        return $resolved;
    }
public function resolveBound(string $abstract, array $parameters = [])
    {
        $binding     = $this->bindings[$abstract];
        $concrete    = $binding[TypesContract::VALUE];
        $bindingType = $binding[TypesContract::BINDING_TYPE];

        if ($this->isComputed($binding)) {
            return $binding[TypesContract::VALUE];
        }

        if ($concrete instanceof Closure) {
            \array_unshift($parameters, $this);
        }

        if ($bindingType === TypesContract::PLAIN) {
            $resolved = $this->resolvePlain($abstract);
        } elseif ($bindingType === TypesContract::SERVICE) {
            $resolved = $this->resolveService($abstract, $parameters);
        } else {
            $resolved = $this->resolveSingleton($abstract, $parameters);
        }

        if (\is_string($abstract)) {
            $this->extendResolved($abstract, $resolved);
        }

        return $resolved;
    }
{@inheritdoc}