summaryrefslogtreecommitdiffstats
path: root/vendor/wikimedia/less.php/lib/Less/Tree/DetachedRuleset.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/wikimedia/less.php/lib/Less/Tree/DetachedRuleset.php')
-rw-r--r--vendor/wikimedia/less.php/lib/Less/Tree/DetachedRuleset.php35
1 files changed, 35 insertions, 0 deletions
diff --git a/vendor/wikimedia/less.php/lib/Less/Tree/DetachedRuleset.php b/vendor/wikimedia/less.php/lib/Less/Tree/DetachedRuleset.php
new file mode 100644
index 0000000..6ba1ef3
--- /dev/null
+++ b/vendor/wikimedia/less.php/lib/Less/Tree/DetachedRuleset.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * @private
+ */
+class Less_Tree_DetachedRuleset extends Less_Tree {
+
+ public $ruleset;
+ public $frames;
+ public $type = 'DetachedRuleset';
+
+ public function __construct( $ruleset, $frames = null ) {
+ $this->ruleset = $ruleset;
+ $this->frames = $frames;
+ }
+
+ public function accept( $visitor ) {
+ $this->ruleset = $visitor->visitObj( $this->ruleset );
+ }
+
+ public function compile( $env ) {
+ if ( $this->frames ) {
+ $frames = $this->frames;
+ } else {
+ $frames = $env->frames;
+ }
+ return new Less_Tree_DetachedRuleset( $this->ruleset, $frames );
+ }
+
+ public function callEval( $env ) {
+ if ( $this->frames ) {
+ return $this->ruleset->compile( $env->copyEvalEnv( array_merge( $this->frames, $env->frames ) ) );
+ }
+ return $this->ruleset->compile( $env );
+ }
+}