4 * This file is part of Twig.
9 * For the full copyright and license information, please view the LICENSE
10 * file that was distributed with this source code.
14 * Represents an if node.
16 * @author Fabien Potencier <fabien@symfony.com>
18 class Twig_Node_If extends Twig_Node
20 public function __construct(Twig_NodeInterface $tests, Twig_NodeInterface $else = null, $lineno, $tag = null)
22 $nodes = array('tests' => $tests);
24 $nodes['else'] = $else;
27 parent::__construct($nodes, array(), $lineno, $tag);
30 public function compile(Twig_Compiler $compiler)
32 $compiler->addDebugInfo($this);
33 for ($i = 0, $count = count($this->getNode('tests')); $i < $count; $i += 2) {
46 ->subcompile($this->getNode('tests')->getNode($i))
49 ->subcompile($this->getNode('tests')->getNode($i + 1))
53 if ($this->hasNode('else')) {
58 ->subcompile($this->getNode('else'))
68 class_alias('Twig_Node_If', 'Twig\Node\IfNode', false);