summaryrefslogtreecommitdiffstats
path: root/vendor/wikimedia/less.php/lib/Less/Tree/Directive.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/wikimedia/less.php/lib/Less/Tree/Directive.php')
-rw-r--r--vendor/wikimedia/less.php/lib/Less/Tree/Directive.php92
1 files changed, 92 insertions, 0 deletions
diff --git a/vendor/wikimedia/less.php/lib/Less/Tree/Directive.php b/vendor/wikimedia/less.php/lib/Less/Tree/Directive.php
new file mode 100644
index 0000000..dfada84
--- /dev/null
+++ b/vendor/wikimedia/less.php/lib/Less/Tree/Directive.php
@@ -0,0 +1,92 @@
+<?php
+/**
+ * @private
+ */
+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, [ $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 );
+ }
+ }
+
+}