Pinq\Expressions\Expression::closure PHP Method

closure() final public static method

final public static closure ( boolean $returnsReference, boolean $isStatic, array $parameterExpressions, array $usedVariables, array $bodyExpressions ) : ClosureExpression
$returnsReference boolean
$isStatic boolean
$parameterExpressions array
$usedVariables array
$bodyExpressions array
return ClosureExpression
    public static final function closure($returnsReference, $isStatic, array $parameterExpressions, array $usedVariables, array $bodyExpressions)
    {
        return new ClosureExpression($returnsReference, $isStatic, $parameterExpressions, $usedVariables, $bodyExpressions);
    }

Usage Example

コード例 #1
0
ファイル: InterpreterTest.php プロジェクト: timetoogo/pinq
 private function recompile(Parsing\IFunctionReflection $reflection, Parsing\IFunctionStructure $structure, &$closureExpression = null)
 {
     $signature = $reflection->getSignature();
     $usedVariables = array_map(function ($name) {
         return O\Expression::closureUsedVariable($name);
     }, $signature->getScopedVariableNames() ?: []);
     $closureExpression = O\Expression::closure($signature->returnsReference(), $reflection->getInnerReflection()->getClosureScopeClass() === null, $signature->getParameterExpressions(), $usedVariables, $structure->getBodyExpressions());
     return $closureExpression->evaluate($reflection->asEvaluationContext());
 }
All Usage Examples Of Pinq\Expressions\Expression::closure