File: LightModeCall.php

package info (click to toggle)
icingaweb2 2.11.4-2%2Bdeb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 33,368 kB
  • sloc: php: 208,116; javascript: 4,787; sql: 307; sh: 78; xml: 74; makefile: 35
file content (38 lines) | stat: -rw-r--r-- 820 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
/* Icinga Web 2 | (c) 2022 Icinga GmbH | GPLv2+ */

namespace Icinga\Less;

use Less_Environment;
use Less_Tree_Ruleset;
use Less_Tree_RulesetCall;

/**
 * Use the environment where the light mode was defined to evaluate the call
 */
class LightModeCall extends Less_Tree_RulesetCall
{
    use LightModeTrait;

    /**
     * @param Less_Tree_RulesetCall $c
     *
     * @return static
     */
    public static function fromRulesetCall(Less_Tree_RulesetCall $c)
    {
        return new static($c->variable);
    }

    /**
     * @param Less_Environment $env
     *
     * @return Less_Tree_Ruleset
     */
    public function compile($env)
    {
        return parent::compile(
            $env->copyEvalEnv(array_merge($env->frames, $this->getLightMode()->getEnv($this->variable)->frames))
        );
    }
}