[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/lib/lessphp/Tree/ -> Directive.php (source)

   1  <?php
   2  
   3  /**
   4   * Directive
   5   *
   6   * @package Less
   7   * @subpackage tree
   8   */
   9  class Less_Tree_Directive extends Less_Tree{
  10  
  11      public $name;
  12      public $value;
  13      public $rules;
  14      public $index;
  15      public $isReferenced;
  16      public $currentFileInfo;
  17      public $debugInfo;
  18      public $type = 'Directive';
  19  
  20  	public function __construct($name, $value = null, $rules, $index = null, $currentFileInfo = null, $debugInfo = null ){
  21          $this->name = $name;
  22          $this->value = $value;
  23          if( $rules ){
  24              $this->rules = $rules;
  25              $this->rules->allowImports = true;
  26          }
  27  
  28          $this->index = $index;
  29          $this->currentFileInfo = $currentFileInfo;
  30          $this->debugInfo = $debugInfo;
  31      }
  32  
  33  
  34      public function accept( $visitor ){
  35          if( $this->rules ){
  36              $this->rules = $visitor->visitObj( $this->rules );
  37          }
  38          if( $this->value ){
  39              $this->value = $visitor->visitObj( $this->value );
  40          }
  41      }
  42  
  43  
  44      /**
  45       * @see Less_Tree::genCSS
  46       */
  47      public function genCSS( $output ){
  48          $value = $this->value;
  49          $rules = $this->rules;
  50          $output->add( $this->name, $this->currentFileInfo, $this->index );
  51          if( $this->value ){
  52              $output->add(' ');
  53              $this->value->genCSS($output);
  54          }
  55          if( $this->rules ){
  56              Less_Tree::outputRuleset( $output, array($this->rules));
  57          } else {
  58              $output->add(';');
  59          }
  60      }
  61  
  62  	public function compile($env){
  63  
  64          $value = $this->value;
  65          $rules = $this->rules;
  66          if( $value ){
  67              $value = $value->compile($env);
  68          }
  69  
  70          if( $rules ){
  71              $rules = $rules->compile($env);
  72              $rules->root = true;
  73          }
  74  
  75          return new Less_Tree_Directive( $this->name, $value, $rules, $this->index, $this->currentFileInfo, $this->debugInfo );
  76      }
  77  
  78  
  79  	public function variable($name){
  80          if( $this->rules ){
  81              return $this->rules->variable($name);
  82          }
  83      }
  84  
  85  	public function find($selector){
  86          if( $this->rules ){
  87              return $this->rules->find($selector, $this);
  88          }
  89      }
  90  
  91      //rulesets: function () { if (this.rules) return tree.Ruleset.prototype.rulesets.apply(this.rules); },
  92  
  93  	public function markReferenced(){
  94          $this->isReferenced = true;
  95          if( $this->rules ){
  96              Less_Tree::ReferencedArray($this->rules->rules);
  97          }
  98      }
  99  
 100  }


Generated: Thu Aug 11 10:00:09 2016 Cross-referenced by PHPXref 0.7.1