9 class Less_Tree_Directive extends Less_Tree{
16 public $currentFileInfo;
18 public $type = 'Directive';
20 public function __construct($name, $value = null, $rules, $index = null, $currentFileInfo = null, $debugInfo = null ){
22 $this->value = $value;
24 $this->rules = $rules;
25 $this->rules->allowImports = true;
28 $this->index = $index;
29 $this->currentFileInfo = $currentFileInfo;
30 $this->debugInfo = $debugInfo;
34 public function accept( $visitor ){
36 $this->rules = $visitor->visitObj( $this->rules );
39 $this->value = $visitor->visitObj( $this->value );
45 * @see Less_Tree::genCSS
47 public function genCSS( $output ){
48 $value = $this->value;
49 $rules = $this->rules;
50 $output->add( $this->name, $this->currentFileInfo, $this->index );
53 $this->value->genCSS($output);
56 Less_Tree::outputRuleset( $output, array($this->rules));
62 public function compile($env){
64 $value = $this->value;
65 $rules = $this->rules;
67 $value = $value->compile($env);
71 $rules = $rules->compile($env);
75 return new Less_Tree_Directive( $this->name, $value, $rules, $this->index, $this->currentFileInfo, $this->debugInfo );
79 public function variable($name){
81 return $this->rules->variable($name);
85 public function find($selector){
87 return $this->rules->find($selector, $this);
91 //rulesets: function () { if (this.rules) return tree.Ruleset.prototype.rulesets.apply(this.rules); },
93 public function markReferenced(){
94 $this->isReferenced = true;
96 Less_Tree::ReferencedArray($this->rules->rules);