public function __construct($returnsReference, $isStatic, array $parameterExpressions, array $usedVariables, array $bodyExpressions) { $this->returnsReference = $returnsReference; $this->isStatic = $isStatic; $this->parameters = self::verifyAll($parameterExpressions, ParameterExpression::getType()); $this->usedVariables = self::verifyAll($usedVariables, ClosureUsedVariableExpression::getType()); $this->bodyExpressions = self::verifyAll($bodyExpressions); foreach ($this->usedVariables as $usedVariable) { $this->usedVariableNames[] = $usedVariable->getName(); } }
public function walkParameter(ParameterExpression $expression) { return $expression->update($expression->getName(), $expression->getTypeHint(), $this->walk($expression->getDefaultValue()), $expression->isPassedByReference(), $expression->isVariadic()); }