Project

General

Profile

1
<?php
2

    
3
/*
4
 * This file is part of Twig.
5
 *
6
 * (c) 2012 Fabien Potencier
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11

    
12
/**
13
 * Represents an embed node.
14
 *
15
 * @package    twig
16
 * @author     Fabien Potencier <fabien@symfony.com>
17
 */
18
class Twig_Node_Embed extends Twig_Node_Include
19
{
20
    // we don't inject the module to avoid node visitors to traverse it twice (as it will be already visited in the main module)
21
    public function __construct($filename, $index, Twig_Node_Expression $variables = null, $only = false, $ignoreMissing = false, $lineno, $tag = null)
22
    {
23
        parent::__construct(new Twig_Node_Expression_Constant('not_used', $lineno), $variables, $only, $ignoreMissing, $lineno, $tag);
24

    
25
        $this->setAttribute('filename', $filename);
26
        $this->setAttribute('index', $index);
27
    }
28

    
29
    protected function addGetTemplate(Twig_Compiler $compiler)
30
    {
31
        $compiler
32
            ->write("\$this->env->loadTemplate(")
33
            ->string($this->getAttribute('filename'))
34
            ->raw(', ')
35
            ->string($this->getAttribute('index'))
36
            ->raw(")")
37
        ;
38
    }
39
}
(6-6/23)