Automattic\WooCommerce\Vendor\Symfony\Component\CssSelector\Parser

Parser::parserSelectorNodeprivateWC 1.0

Method of the class: Parser{}

No Hooks.

Returns

null. Nothing (null).

Usage

// private - for code of main (parent) class only
$result = $this->parserSelectorNode( $stream ): Node\SelectorNode;
$stream(TokenStream) (required)
.

Parser::parserSelectorNode() code WC 10.5.0

private function parserSelectorNode(TokenStream $stream): Node\SelectorNode
{
    [$result, $pseudoElement] = $this->parseSimpleSelector($stream);

    while (true) {
        $stream->skipWhitespace();
        $peek = $stream->getPeek();

        if ($peek->isFileEnd() || $peek->isDelimiter([','])) {
            break;
        }

        if (null !== $pseudoElement) {
            throw SyntaxErrorException::pseudoElementFound($pseudoElement, 'not at the end of a selector');
        }

        if ($peek->isDelimiter(['+', '>', '~'])) {
            $combinator = $stream->getNext()->getValue();
            $stream->skipWhitespace();
        } else {
            $combinator = ' ';
        }

        [$nextSelector, $pseudoElement] = $this->parseSimpleSelector($stream);
        $result = new Node\CombinedSelectorNode($result, $combinator, $nextSelector);
    }

    return new Node\SelectorNode($result, $pseudoElement);
}