protected function removeGetTrueIteratorCall(O\Expression $queryExpression) { //Removes the ->getTrueIterator() method call expression so when //searching for applicable results the expression will be a common ancestor if ($queryExpression instanceof O\MethodCallExpression) { $nameExpression = $queryExpression->getName(); if ($nameExpression instanceof O\ValueExpression) { if (strtolower($nameExpression->getValue()) === 'gettrueiterator') { return $queryExpression->getValue(); } } } return $queryExpression; }
public function inline(IFunction $function, O\Expression $expression, Parameters\ResolvedParameterRegistry $parameters) { /** @var $expression O\VariableExpression */ return $expression->update($this->getResolvedValueExpression($parameters, $expression->getName())); }