function lessc::reduce in Less CSS Preprocessor 6.3
3 calls to lessc::reduce()
- lessc::compileValue in lessphp/
lessc.inc.php - lessc::evaluate in lessphp/
lessc.inc.php - lessc::funcToColor in lessphp/
lessc.inc.php
File
- lessphp/
lessc.inc.php, line 875
Class
Code
function reduce($var, $defaultValue = array(
'number',
0,
)) {
$pushed = 0;
// number of variable names pushed
while (in_array($var[0], self::$dtypes)) {
if ($var[0] == 'expression') {
$var = $this
->evaluate($var[1], $var[2], $var[3]);
}
else {
if ($var[0] == 'variable') {
$var = $this
->getVal($var[1], $this
->pushName($var[1]), $defaultValue);
$pushed++;
}
else {
if ($var[0] == 'function') {
$color = $this
->funcToColor($var);
if ($color) {
$var = $color;
}
break;
// no where to go after a function
}
else {
if ($var[0] == 'negative') {
$value = $this
->reduce($var[1]);
if (is_numeric($value[1])) {
$value[1] = -1 * $value[1];
}
$var = $value;
}
}
}
}
}
while ($pushed != 0) {
$this
->popName();
$pushed--;
}
return $var;
}