Вход Регистрация
Файл: concrete5.7.5.6/concrete/vendor/oyejorge/less.php/lib/Less/Tree/Element.php
Строк: 64
<?php

/**
 * Element
 *
 * @package Less
 * @subpackage tree
 */
class Less_Tree_Element extends Less_Tree{

    public 
$combinator = '';
    public 
$value = '';
    public 
$index;
    public 
$currentFileInfo;
    public 
$type = 'Element';

    public 
$value_is_object = false;

    public function 
__construct($combinator, $value, $index = null, $currentFileInfo = null ){

        
$this->value = $value;
        
$this->value_is_object = is_object($value);

        if( 
$combinator ){
            
$this->combinator = $combinator;
        }

        
$this->index = $index;
        
$this->currentFileInfo = $currentFileInfo;
    }

    function 
accept( $visitor ){
        if( 
$this->value_is_object ){ //object or string
            
$this->value = $visitor->visitObj( $this->value );
        }
    }

    public function 
compile($env){

        if( 
Less_Environment::$mixin_stack ){
            return new 
Less_Tree_Element($this->combinator, ($this->value_is_object ? $this->value->compile($env) : $this->value), $this->index, $this->currentFileInfo );
        }

        if( 
$this->value_is_object ){
            
$this->value = $this->value->compile($env);
        }

        return 
$this;
    }

    
/**
     * @see Less_Tree::genCSS
     */
    
public function genCSS( $output ){
        
$output->add( $this->toCSS(), $this->currentFileInfo, $this->index );
    }

    public function 
toCSS(){

        if( 
$this->value_is_object ){
            
$value = $this->value->toCSS();
        }else{
            
$value = $this->value;
        }


        if( 
$value === '' && $this->combinator && $this->combinator === '&' ){
            return 
'';
        }


        return 
Less_Environment::$_outputMap[$this->combinator] . $value;
    }

}
Онлайн: 2
Реклама