Security update for Core, with self-updated composer
[yaffs-website] / vendor / twig / twig / lib / Twig / TokenParser / Import.php
1 <?php
2
3 /*
4  * This file is part of Twig.
5  *
6  * (c) 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  * Imports macros.
14  *
15  * <pre>
16  *   {% import 'forms.html' as forms %}
17  * </pre>
18  *
19  * @final
20  */
21 class Twig_TokenParser_Import extends Twig_TokenParser
22 {
23     public function parse(Twig_Token $token)
24     {
25         $macro = $this->parser->getExpressionParser()->parseExpression();
26         $this->parser->getStream()->expect('as');
27         $var = new Twig_Node_Expression_AssignName($this->parser->getStream()->expect(Twig_Token::NAME_TYPE)->getValue(), $token->getLine());
28         $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
29
30         $this->parser->addImportedSymbol('template', $var->getAttribute('name'));
31
32         return new Twig_Node_Import($macro, $var, $token->getLine(), $this->getTag());
33     }
34
35     public function getTag()
36     {
37         return 'import';
38     }
39 }
40
41 class_alias('Twig_TokenParser_Import', 'Twig\TokenParser\ImportTokenParser', false);