diff options
author | derchris | 2019-02-02 15:35:30 +0100 |
---|---|---|
committer | derchris | 2019-02-02 15:35:30 +0100 |
commit | 7ad9f272a482802da2d43fe83841adbe9bcd8cb4 (patch) | |
tree | 75b43a2a8c3ab3dbdcb0694d135f4729c90b8af7 /lib/less.php/Tree/Element.php | |
parent | eb6601b2520d48a0be91634fada0389faadde31d (diff) |
update less.php to PHP 7.x compatible fork
Diffstat (limited to '')
-rw-r--r-- | lib/less.php/Tree/Element.php | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/lib/less.php/Tree/Element.php b/lib/less.php/Tree/Element.php new file mode 100644 index 0000000..9cea5e4 --- /dev/null +++ b/lib/less.php/Tree/Element.php @@ -0,0 +1,75 @@ +<?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; + } + + public 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; + } + +} |