public static function evaluate(Queries\IScope $scope, Queries\IResolvedParameterRegistry $resolvedParameters) { $sourceInfo = $scope->getSourceInfo(); if (!$sourceInfo instanceof SourceInfo) { throw new PinqException('Incompatible query source: expecting source info of type %s, %s given', SourceInfo::SOURCE_INFO_TYPE, get_class($sourceInfo)); } $evaluator = new self($sourceInfo->getTraversable(), $resolvedParameters); $evaluator->visit($scope); return $evaluator->traversable; }
public function buildScope() { return new Queries\Scope($this->processSourceInfo($this->scope->getSourceInfo()), $this->processSegments($this->scope->getSegments())); }