Symfony\Component\CssSelector\Parser::parseSelector PHP Method

parseSelector() protected method

protected parseSelector ( $stream )
    protected function parseSelector($stream)
    {
        $result = $this->parseSimpleSelector($stream);
        while (1) {
            $peek = $stream->peek();
            if ($peek == ',' || $peek === null) {
                return $result;
            } elseif (in_array($peek, array('+', '>', '~'))) {
                // A combinator
                $combinator = (string) $stream->next();
            } else {
                $combinator = ' ';
            }
            $consumed = count($stream->getUsed());
            $next_selector = $this->parseSimpleSelector($stream);
            if ($consumed == count($stream->getUsed())) {
                throw new SyntaxError(sprintf("Expected selector, got '%s'", $stream->peek()));
            }
            $result = new Node\CombinedSelectorNode($result, $combinator, $next_selector);
        }
        return $result;
    }