public function Twig_Node_If::compile

Compiles the node to PHP.

Parameters

Twig_Compiler A Twig_Compiler instance:

Overrides Twig_Node::compile

File

drupal/core/vendor/twig/twig/lib/Twig/Node/If.php, line 31

Class

Twig_Node_If
Represents an if node.

Code

public function compile(Twig_Compiler $compiler) {
  $compiler
    ->addDebugInfo($this);
  for ($i = 0; $i < count($this
    ->getNode('tests')); $i += 2) {
    if ($i > 0) {
      $compiler
        ->outdent()
        ->write("} elseif (");
    }
    else {
      $compiler
        ->write('if (');
    }
    $compiler
      ->subcompile($this
      ->getNode('tests')
      ->getNode($i))
      ->raw(") {\n")
      ->indent()
      ->subcompile($this
      ->getNode('tests')
      ->getNode($i + 1));
  }
  if ($this
    ->hasNode('else') && null !== $this
    ->getNode('else')) {
    $compiler
      ->outdent()
      ->write("} else {\n")
      ->indent()
      ->subcompile($this
      ->getNode('else'));
  }
  $compiler
    ->outdent()
    ->write("}\n");
}