public function update($scopeType, $namespace, array $parameterScopedVariableMap, array $parameterExpressions, array $bodyExpressions = null) { if ($this->evaluationContextFactory->getScopeType() === $scopeType && $this->evaluationContextFactory->getNamespace() === $namespace && $this->evaluationContextFactory->getParameterScopedVariableMap() === $parameterScopedVariableMap && $this->parameters->getAll() === $parameterExpressions && $this->bodyExpressions === $bodyExpressions) { return $this; } return new static($this->evaluationContextFactory->getCallableId(), $scopeType, $namespace, $parameterScopedVariableMap, $parameterExpressions, $bodyExpressions); }