/lib/lessphp/Tree.php
PHP | 90 lines | 48 code | 22 blank | 20 comment | 4 complexity | 799f9d39be65cbda499da580e752d31e MD5 | raw file
Possible License(s): Apache-2.0, LGPL-2.1, BSD-3-Clause, MIT, GPL-3.0
- <?php
- /**
- * Tree
- *
- * @package Less
- * @subpackage tree
- */
- class Less_Tree{
- public $cache_string;
- public function toCSS(){
- $output = new Less_Output();
- $this->genCSS($output);
- return $output->toString();
- }
- /**
- * Generate CSS by adding it to the output object
- *
- * @param Less_Output $output The output
- * @return void
- */
- public function genCSS($output){}
- /**
- * @param Less_Tree_Ruleset[] $rules
- */
- public static function outputRuleset( $output, $rules ){
- $ruleCnt = count($rules);
- Less_Environment::$tabLevel++;
- // Compressed
- if( Less_Parser::$options['compress'] ){
- $output->add('{');
- for( $i = 0; $i < $ruleCnt; $i++ ){
- $rules[$i]->genCSS( $output );
- }
- $output->add( '}' );
- Less_Environment::$tabLevel--;
- return;
- }
- // Non-compressed
- $tabSetStr = "\n".str_repeat( Less_Parser::$options['indentation'] , Less_Environment::$tabLevel-1 );
- $tabRuleStr = $tabSetStr.Less_Parser::$options['indentation'];
- $output->add( " {" );
- for($i = 0; $i < $ruleCnt; $i++ ){
- $output->add( $tabRuleStr );
- $rules[$i]->genCSS( $output );
- }
- Less_Environment::$tabLevel--;
- $output->add( $tabSetStr.'}' );
- }
- public function accept($visitor){}
- public static function ReferencedArray($rules){
- foreach($rules as $rule){
- if( method_exists($rule, 'markReferenced') ){
- $rule->markReferenced();
- }
- }
- }
- /**
- * Requires php 5.3+
- */
- public static function __set_state($args){
- $class = get_called_class();
- $obj = new $class(null,null,null,null);
- foreach($args as $key => $val){
- $obj->$key = $val;
- }
- return $obj;
- }
- }