Project

General

Profile

1
<?php
2

    
3
/*
4
 * This file is part of Twig.
5
 *
6
 * (c) 2011 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
class Twig_Node_SetTemp extends Twig_Node
13
{
14
    public function __construct($name, $lineno)
15
    {
16
        parent::__construct(array(), array('name' => $name), $lineno);
17
    }
18

    
19
    public function compile(Twig_Compiler $compiler)
20
    {
21
        $name = $this->getAttribute('name');
22
        $compiler
23
            ->addDebugInfo($this)
24
            ->write('if (isset($context[')
25
            ->string($name)
26
            ->raw('])) { $_')
27
            ->raw($name)
28
            ->raw('_ = $context[')
29
            ->repr($name)
30
            ->raw(']; } else { $_')
31
            ->raw($name)
32
            ->raw("_ = null; }\n")
33
        ;
34
    }
35
}
(21-21/23)