text: <?php
  
  /*
   * This file is part of Twig.
   *
   * (c) 2009 Fabien Potencier
   * (c) 2009 Armin Ronacher
   *
   * For the full copyright and license information, please view the LICENSE
   * file that was distributed with this source code.
   */
  
  /**
   * Represents a block node.
   *
   * @author Fabien Potencier <fabien@symfony.com>
   */
  class Twig_Node_Block extends Twig_Node
  {
      public function __construct($name, Twig_NodeInterface $body, $lineno, $tag = null)
      {
          parent::__construct(array('body' => $body), array('name' => $name), $lineno, $tag);
      }
  
      /**
       * Compiles the node to PHP.
       *
       * @param Twig_Compiler $compiler A Twig_Compiler instance
       */
      public function compile(Twig_Compiler $compiler)
      {
          $compiler
              ->addDebugInfo($this)
              ->write(sprintf("public function block_%s(\$context, array \$blocks = array())\n", $this->getAttribute('name')), "{\n")
              ->indent()
          ;
  
          $compiler
              ->subcompile($this->getNode('body'))
              ->outdent()
              ->write("}\n\n")
          ;
      }
  }
  