PhpBench\Expression\Parser::parseComposite PHP Метод

parseComposite() приватный Метод

private parseComposite ( $operator, $args )
    private function parseComposite($operator, $args)
    {
        if (!in_array($operator, $this->composites)) {
            throw new \InvalidArgumentException(sprintf('Unknown composite operator, got "%s". Valid operators: "%s"', $operator, implode('", "', $this->composites)));
        }
        if (count($args) < 2) {
            throw new \InvalidArgumentException(sprintf('Constraints must have at least two arguments, got: "%s"', json_encode($args)));
        }
        $leftConstraint = $this->processExpr(array_shift($args));
        foreach ($args as $rightArg) {
            $rightConstraint = $this->processExpr($rightArg);
            $composite = new Constraint\Composite($operator, $leftConstraint, $rightConstraint);
            $leftConstraint = $composite;
        }
        return $composite;
    }