123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- <?php
- /**
- * Directive
- *
- * @package Less
- * @subpackage tree
- */
- class Less_Tree_Directive extends Less_Tree {
- public $name;
- public $value;
- public $rules;
- public $index;
- public $isReferenced;
- public $currentFileInfo;
- public $debugInfo;
- public $type = 'Directive';
- public function __construct( $name, $value = null, $rules = null, $index = null, $currentFileInfo = null, $debugInfo = null ) {
- $this->name = $name;
- $this->value = $value;
- if ( $rules ) {
- $this->rules = $rules;
- $this->rules->allowImports = true;
- }
- $this->index = $index;
- $this->currentFileInfo = $currentFileInfo;
- $this->debugInfo = $debugInfo;
- }
- public function accept( $visitor ) {
- if ( $this->rules ) {
- $this->rules = $visitor->visitObj( $this->rules );
- }
- if ( $this->value ) {
- $this->value = $visitor->visitObj( $this->value );
- }
- }
- /**
- * @see Less_Tree::genCSS
- */
- public function genCSS( $output ) {
- $value = $this->value;
- $rules = $this->rules;
- $output->add( $this->name, $this->currentFileInfo, $this->index );
- if ( $this->value ) {
- $output->add( ' ' );
- $this->value->genCSS( $output );
- }
- if ( $this->rules ) {
- Less_Tree::outputRuleset( $output, array( $this->rules ) );
- } else {
- $output->add( ';' );
- }
- }
- public function compile( $env ) {
- $value = $this->value;
- $rules = $this->rules;
- if ( $value ) {
- $value = $value->compile( $env );
- }
- if ( $rules ) {
- $rules = $rules->compile( $env );
- $rules->root = true;
- }
- return new Less_Tree_Directive( $this->name, $value, $rules, $this->index, $this->currentFileInfo, $this->debugInfo );
- }
- public function variable( $name ) {
- if ( $this->rules ) {
- return $this->rules->variable( $name );
- }
- }
- public function find( $selector ) {
- if ( $this->rules ) {
- return $this->rules->find( $selector, $this );
- }
- }
- // rulesets: function () { if (this.rules) return tree.Ruleset.prototype.rulesets.apply(this.rules); },
- public function markReferenced() {
- $this->isReferenced = true;
- if ( $this->rules ) {
- Less_Tree::ReferencedArray( $this->rules->rules );
- }
- }
- }
|