Project

General

Profile

1 1686 darkviper
<?php
2
3
/*
4
 * This file is part of Twig.
5
 *
6
 * (c) 2009 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
 * Interface implemented by compiler classes.
14
 *
15
 * @package    twig
16
 * @author     Fabien Potencier <fabien@symfony.com>
17
 */
18
interface Twig_CompilerInterface
19
{
20
    /**
21
     * Compiles a node.
22
     *
23 1852 darkviper
     * @param Twig_NodeInterface $node The node to compile
24 1686 darkviper
     *
25
     * @return Twig_CompilerInterface The current compiler instance
26
     */
27 1852 darkviper
    public function compile(Twig_NodeInterface $node);
28 1686 darkviper
29
    /**
30
     * Gets the current PHP code after compilation.
31
     *
32
     * @return string The PHP code
33
     */
34 1852 darkviper
    public function getSource();
35 1686 darkviper
}