���ѧۧݧ�ӧ�� �ާ֧ߧ֧էا֧� - ���֧էѧܧ�ڧ��ӧѧ�� - /home/rickpfrv/wiki.craftaro.com/vendor/wikimedia/less.php/lib/Less/Tree/Selector.php
���ѧ٧ѧ�
<?php /** * Selector * * @package Less * @subpackage tree */ class Less_Tree_Selector extends Less_Tree { public $elements; public $condition; public $extendList = array(); public $_css; public $index; public $evaldCondition = false; public $type = 'Selector'; public $currentFileInfo = array(); public $isReferenced; public $mediaEmpty; public $elements_len = 0; public $_oelements; public $_oelements_assoc; public $_oelements_len; public $cacheable = true; /** * @param boolean $isReferenced */ public function __construct( $elements, $extendList = array(), $condition = null, $index = null, $currentFileInfo = null, $isReferenced = null ) { $this->elements = $elements; $this->elements_len = count( $elements ); $this->extendList = $extendList; $this->condition = $condition; if ( $currentFileInfo ) { $this->currentFileInfo = $currentFileInfo; } $this->isReferenced = $isReferenced; if ( !$condition ) { $this->evaldCondition = true; } $this->CacheElements(); } public function accept( $visitor ) { $this->elements = $visitor->visitArray( $this->elements ); $this->extendList = $visitor->visitArray( $this->extendList ); if ( $this->condition ) { $this->condition = $visitor->visitObj( $this->condition ); } if ( $visitor instanceof Less_Visitor_extendFinder ) { $this->CacheElements(); } } public function createDerived( $elements, $extendList = null, $evaldCondition = null ) { $newSelector = new Less_Tree_Selector( $elements, ( $extendList ? $extendList : $this->extendList ), null, $this->index, $this->currentFileInfo, $this->isReferenced ); $newSelector->evaldCondition = $evaldCondition ? $evaldCondition : $this->evaldCondition; return $newSelector; } public function match( $other ) { if ( !$other->_oelements || ( $this->elements_len < $other->_oelements_len ) ) { return 0; } for ( $i = 0; $i < $other->_oelements_len; $i++ ) { if ( $this->elements[$i]->value !== $other->_oelements[$i] ) { return 0; } } return $other->_oelements_len; // return number of matched elements } public function CacheElements() { $this->_oelements = array(); $this->_oelements_assoc = array(); $css = ''; foreach ( $this->elements as $v ) { $css .= $v->combinator; if ( !$v->value_is_object ) { $css .= $v->value; continue; } if ( !property_exists( $v->value, 'value' ) || !is_string( $v->value->value ) ) { $this->cacheable = false; return; } $css .= $v->value->value; } $this->_oelements_len = preg_match_all( '/[,&#\.\w-](?:[\w-]|(?:\\\\.))*/', $css, $matches ); if ( $this->_oelements_len ) { $this->_oelements = $matches[0]; if ( $this->_oelements[0] === '&' ) { array_shift( $this->_oelements ); $this->_oelements_len--; } $this->_oelements_assoc = array_fill_keys( $this->_oelements, true ); } } public function isJustParentSelector() { return !$this->mediaEmpty && count( $this->elements ) === 1 && $this->elements[0]->value === '&' && ( $this->elements[0]->combinator === ' ' || $this->elements[0]->combinator === '' ); } public function compile( $env ) { $elements = array(); foreach ( $this->elements as $el ) { $elements[] = $el->compile( $env ); } $extendList = array(); foreach ( $this->extendList as $el ) { $extendList[] = $el->compile( $el ); } $evaldCondition = false; if ( $this->condition ) { $evaldCondition = $this->condition->compile( $env ); } return $this->createDerived( $elements, $extendList, $evaldCondition ); } /** * @see Less_Tree::genCSS */ public function genCSS( $output, $firstSelector = true ) { if ( !$firstSelector && $this->elements[0]->combinator === "" ) { $output->add( ' ', $this->currentFileInfo, $this->index ); } foreach ( $this->elements as $element ) { $element->genCSS( $output ); } } public function markReferenced() { $this->isReferenced = true; } public function getIsReferenced() { return !isset( $this->currentFileInfo['reference'] ) || !$this->currentFileInfo['reference'] || $this->isReferenced; } public function getIsOutput() { return $this->evaldCondition; } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | ���֧ߧ֧�ѧ�ڧ� ����ѧߧڧ��: 0.1 |
proxy
|
phpinfo
|
���ѧ����ۧܧ�