Automattic\WooCommerce\Vendor\Sabberworm\CSS\CSSList

CSSList::parseListItemprivate staticWC 1.0

Метод класса: CSSList{}

Хуков нет.

Возвращает

AtRuleBlockList|KeyFrame|Charset|CSSNamespace|Import|AtRuleSet|DeclarationBlock|null|false.

Использование

$result = CSSList::parseListItem( $oParserState, $oList );
$oParserState(ParserState) (обязательный)
.
$oList(CSSList) (обязательный)
.

Код CSSList::parseListItem() WC 10.4.3

private static function parseListItem(ParserState $oParserState, CSSList $oList)
{
    $bIsRoot = $oList instanceof Document;
    if ($oParserState->comes('@')) {
        $oAtRule = self::parseAtRule($oParserState);
        if ($oAtRule instanceof Charset) {
            if (!$bIsRoot) {
                throw new UnexpectedTokenException(
                    '@charset may only occur in root document',
                    '',
                    'custom',
                    $oParserState->currentLine()
                );
            }
            if (count($oList->getContents()) > 0) {
                throw new UnexpectedTokenException(
                    '@charset must be the first parseable token in a document',
                    '',
                    'custom',
                    $oParserState->currentLine()
                );
            }
            $oParserState->setCharset($oAtRule->getCharset());
        }
        return $oAtRule;
    } elseif ($oParserState->comes('}')) {
        if ($bIsRoot) {
            if ($oParserState->getSettings()->bLenientParsing) {
                return DeclarationBlock::parse($oParserState);
            } else {
                throw new SourceException("Unopened {", $oParserState->currentLine());
            }
        } else {
            // End of list
            return null;
        }
    } else {
        return DeclarationBlock::parse($oParserState, $oList);
    }
}