public static function closure(
            $returnsReference,
            array $parameterExpressions,
            array $scopedVariableNames
    ) {
        return new self(
                self::TYPE_CLOSURE,
                $returnsReference,
                null,
                null,
                null,
                null,
                $parameterExpressions,
                $scopedVariableNames);
    }
public static function closure(
            $returnsReference,
            array $parameterExpressions,
            array $scopedVariableNames
    ) {
        return new self(
                self::TYPE_CLOSURE,
                $returnsReference,
                null,
                null,
                null,
                null,
                $parameterExpressions,
                $scopedVariableNames);
    }
public static function closure ( $ returnsReference , array $ parameterExpressions , array $ scopedVariableNames ) { return new self ( self :: TYPE_CLOSURE , $ returnsReference , null , null , null , null , $ parameterExpressions , $ scopedVariableNames ) ; }
Creates a closure signature with the supplied parameters.

@param boolean                 $returnsReference
@param O\ParameterExpression[] $parameterExpressions
@param string[]                $scopedVariableNames

@return self
Creates a closure signature with the supplied parameters .