1<?php
2
3/*
4 * This file is part of Twig.
5 *
6 * (c) Fabien Potencier
7 * (c) Armin Ronacher
8 *
9 * For the full copyright and license information, please view the LICENSE
10 * file that was distributed with this source code.
11 */
12
13namespace Twig\Node;
14
15use Twig\Compiler;
16use Twig\Node\Expression\AbstractExpression;
17
18/**
19 * Represents a node that outputs an expression.
20 *
21 * @author Fabien Potencier <fabien@symfony.com>
22 */
23class PrintNode extends Node implements NodeOutputInterface
24{
25    public function __construct(AbstractExpression $expr, $lineno, $tag = null)
26    {
27        parent::__construct(['expr' => $expr], [], $lineno, $tag);
28    }
29
30    public function compile(Compiler $compiler)
31    {
32        $compiler
33            ->addDebugInfo($this)
34            ->write('echo ')
35            ->subcompile($this->getNode('expr'))
36            ->raw(";\n")
37        ;
38    }
39}
40
41class_alias('Twig\Node\PrintNode', 'Twig_Node_Print');
42