PluginProbe
Elementor Website Builder – more than just a page builder / 3.28.0-dev2
Elementor Website Builder – more than just a page builder v3.28.0-dev2
4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 4.0.7 All 451 releases
elementor / vendor_prefixed / twig / src / TokenParser / ExtendsTokenParser.php

ExtendsTokenParser.php in Elementor Website Builder – more than just a page builder 3.28.0-dev2, at vendor_prefixed/twig/src/TokenParser/ExtendsTokenParser.php

49 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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 namespace ElementorDeps\Twig\TokenParser;
13
14 use ElementorDeps\Twig\Error\SyntaxError;
15 use ElementorDeps\Twig\Node\Node;
16 use ElementorDeps\Twig\Token;
17 /**
18 * Extends a template by another one.
19 *
20 * {% extends "base.html" %}
21 *
22 * @internal
23 */
24 final class ExtendsTokenParser extends AbstractTokenParser
25 {
26 public function parse(Token $token) : Node
27 {
28 $stream = $this->parser->getStream();
29 if ($this->parser->peekBlockStack()) {
30 throw new SyntaxError('Cannot use "extend" in a block.', $token->getLine(), $stream->getSourceContext());
31 } elseif (!$this->parser->isMainScope()) {
32 throw new SyntaxError('Cannot use "extend" in a macro.', $token->getLine(), $stream->getSourceContext());
33 }
34 if (null !== $this->parser->getParent()) {
35 throw new SyntaxError('Multiple extends tags are forbidden.', $token->getLine(), $stream->getSourceContext());
36 }
37 $this->parser->setParent($this->parser->getExpressionParser()->parseExpression());
38 $stream->expect(
39 /* Token::BLOCK_END_TYPE */
40 3
41 );
42 return new Node();
43 }
44 public function getTag() : string
45 {
46 return 'extends';
47 }
48 }
49