op = trim($op); $this->operands = $operands; $this->isSpaced = $isSpaced; } public function accept($visitor) { $this->operands = $visitor->visitArray($this->operands); } public function compile($env){ $a = $this->operands[0]->compile($env); $b = $this->operands[1]->compile($env); if( Less_Environment::isMathOn() ){ if( $a instanceof Less_Tree_Dimension && $b instanceof Less_Tree_Color ){ $a = $a->toColor(); }elseif( $b instanceof Less_Tree_Dimension && $a instanceof Less_Tree_Color ){ $b = $b->toColor(); } if( !method_exists($a,'operate') ){ throw new Less_Exception_Compiler("Operation on an invalid type"); } return $a->operate( $this->op, $b); } return new Less_Tree_Operation($this->op, array($a, $b), $this->isSpaced ); } /** * @see Less_Tree::genCSS */ public function genCSS( $output ){ $this->operands[0]->genCSS( $output ); if( $this->isSpaced ){ $output->add( " " ); } $output->add( $this->op ); if( $this->isSpaced ){ $output->add( ' ' ); } $this->operands[1]->genCSS( $output ); } }