public function doEvaluate(IResolvedParameterRegistry $parameters) { if ($this->contextFactory === null) { return $this->evaluator->evaluate(); } $resolvedContext = $this->contextFactory->getEvaluationContext($parameters); return $this->evaluator->evaluateWithNewThis($resolvedContext->getThis(), $resolvedContext->getVariableTable()); }