asEvaluationContext() public method

Gets an evaluation context for the same context as the reflected function.
public asEvaluationContext ( array $variableTable = [] ) : Pinq\Expressions\IEvaluationContext
$variableTable array
return Pinq\Expressions\IEvaluationContext
Ejemplo n.º 1
0
 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());
 }