Nette\Utils\Callback::unwrap PHP Method

unwrap() public static method

Unwraps closure created by self::closure()
public static unwrap ( Closure $closure ) : callable
$closure Closure
return callable
    public static function unwrap(\Closure $closure)
    {
        $r = new \ReflectionFunction($closure);
        if (substr($r->getName(), -1) === '}') {
            $vars = $r->getStaticVariables();
            return isset($vars['_callable_']) ? $vars['_callable_'] : $closure;
        } elseif ($obj = $r->getClosureThis()) {
            return [$obj, $r->getName()];
        } elseif ($class = $r->getClosureScopeClass()) {
            return [$class->getName(), $r->getName()];
        } else {
            return $r->getName();
        }
    }