diff --git a/system/src/Grav/Common/Twig/Node/TwigNodeMarkdown.php b/system/src/Grav/Common/Twig/Node/TwigNodeMarkdown.php index 833d97921..4d238da8d 100644 --- a/system/src/Grav/Common/Twig/Node/TwigNodeMarkdown.php +++ b/system/src/Grav/Common/Twig/Node/TwigNodeMarkdown.php @@ -9,24 +9,28 @@ namespace Grav\Common\Twig\Node; -class TwigNodeMarkdown extends \Twig_Node implements \Twig_NodeOutputInterface +use Twig\Compiler; +use Twig\Node\Node; +use Twig\Node\NodeOutputInterface; + +class TwigNodeMarkdown extends Node implements NodeOutputInterface { /** * TwigNodeMarkdown constructor. - * @param \Twig_Node $body - * @param $lineno + * @param Node $body + * @param int $lineno * @param string $tag */ - public function __construct(\Twig_Node $body, $lineno, $tag = 'markdown') + public function __construct(Node $body, $lineno, $tag = 'markdown') { parent::__construct(['body' => $body], [], $lineno, $tag); } /** * Compiles the node to PHP. * - * @param \Twig_Compiler A Twig_Compiler instance + * @param Compiler $compiler A Twig_Compiler instance */ - public function compile(\Twig_Compiler $compiler) + public function compile(Compiler $compiler) { $compiler ->addDebugInfo($this) diff --git a/system/src/Grav/Common/Twig/Node/TwigNodeRender.php b/system/src/Grav/Common/Twig/Node/TwigNodeRender.php index 07425580a..753adf01a 100644 --- a/system/src/Grav/Common/Twig/Node/TwigNodeRender.php +++ b/system/src/Grav/Common/Twig/Node/TwigNodeRender.php @@ -9,21 +9,26 @@ namespace Grav\Common\Twig\Node; -class TwigNodeRender extends \Twig_Node implements \Twig_NodeCaptureInterface +use Twig\Compiler; +use Twig\Node\Expression\AbstractExpression; +use Twig\Node\Node; +use Twig\Node\NodeCaptureInterface; + +class TwigNodeRender extends Node implements NodeCaptureInterface { protected $tagName = 'render'; /** - * @param \Twig_Node_Expression $object - * @param \Twig_Node_Expression|null $layout - * @param \Twig_Node_Expression|null $context + * @param AbstractExpression $object + * @param AbstractExpression|null $layout + * @param AbstractExpression|null $context * @param int $lineno * @param string|null $tag */ public function __construct( - \Twig_Node_Expression $object, - ?\Twig_Node_Expression $layout, - ?\Twig_Node_Expression $context, + AbstractExpression $object, + ?AbstractExpression $layout, + ?AbstractExpression $context, $lineno, $tag = null ) @@ -33,10 +38,10 @@ class TwigNodeRender extends \Twig_Node implements \Twig_NodeCaptureInterface /** * Compiles the node to PHP. * - * @param \Twig_Compiler $compiler A Twig_Compiler instance + * @param Compiler $compiler A Twig_Compiler instance * @throws \LogicException */ - public function compile(\Twig_Compiler $compiler) + public function compile(Compiler $compiler) { $compiler->addDebugInfo($this); $compiler->write('$object = ')->subcompile($this->getNode('object'))->raw(';' . PHP_EOL); diff --git a/system/src/Grav/Common/Twig/Node/TwigNodeScript.php b/system/src/Grav/Common/Twig/Node/TwigNodeScript.php index 376c7f746..4f6f7764b 100644 --- a/system/src/Grav/Common/Twig/Node/TwigNodeScript.php +++ b/system/src/Grav/Common/Twig/Node/TwigNodeScript.php @@ -9,26 +9,31 @@ namespace Grav\Common\Twig\Node; -class TwigNodeScript extends \Twig_Node implements \Twig_NodeCaptureInterface +use Twig\Compiler; +use Twig\Node\Expression\AbstractExpression; +use Twig\Node\Node; +use Twig\Node\NodeCaptureInterface; + +class TwigNodeScript extends Node implements NodeCaptureInterface { protected $tagName = 'script'; /** * TwigNodeScript constructor. - * @param \Twig_Node|null $body - * @param \Twig_Node_Expression|null $file - * @param \Twig_Node_Expression|null $group - * @param \Twig_Node_Expression|null $priority - * @param \Twig_Node_Expression|null $attributes + * @param Node|null $body + * @param AbstractExpression|null $file + * @param AbstractExpression|null $group + * @param AbstractExpression|null $priority + * @param AbstractExpression|null $attributes * @param int $lineno * @param string|null $tag */ public function __construct( - \Twig_Node $body = null, - \Twig_Node_Expression $file = null, - \Twig_Node_Expression $group = null, - \Twig_Node_Expression $priority = null, - \Twig_Node_Expression $attributes = null, + Node $body = null, + AbstractExpression $file = null, + AbstractExpression $group = null, + AbstractExpression $priority = null, + AbstractExpression $attributes = null, $lineno = 0, $tag = null ) @@ -38,10 +43,10 @@ class TwigNodeScript extends \Twig_Node implements \Twig_NodeCaptureInterface /** * Compiles the node to PHP. * - * @param \Twig_Compiler $compiler A Twig_Compiler instance + * @param Compiler $compiler A Twig_Compiler instance * @throws \LogicException */ - public function compile(\Twig_Compiler $compiler) + public function compile(Compiler $compiler) { $compiler->addDebugInfo($this); diff --git a/system/src/Grav/Common/Twig/Node/TwigNodeStyle.php b/system/src/Grav/Common/Twig/Node/TwigNodeStyle.php index f0a9eb75a..22f3302b5 100644 --- a/system/src/Grav/Common/Twig/Node/TwigNodeStyle.php +++ b/system/src/Grav/Common/Twig/Node/TwigNodeStyle.php @@ -9,26 +9,31 @@ namespace Grav\Common\Twig\Node; -class TwigNodeStyle extends \Twig_Node implements \Twig_NodeCaptureInterface +use Twig\Compiler; +use Twig\Node\Expression\AbstractExpression; +use Twig\Node\Node; +use Twig\Node\NodeCaptureInterface; + +class TwigNodeStyle extends Node implements NodeCaptureInterface { protected $tagName = 'style'; /** * TwigNodeAssets constructor. - * @param \Twig_Node|null $body - * @param \Twig_Node_Expression|null $file - * @param \Twig_Node_Expression|null $group - * @param \Twig_Node_Expression|null $priority - * @param \Twig_Node_Expression|null $attributes + * @param Node|null $body + * @param AbstractExpression|null $file + * @param AbstractExpression|null $group + * @param AbstractExpression|null $priority + * @param AbstractExpression|null $attributes * @param int $lineno * @param string|null $tag */ public function __construct( - \Twig_Node $body = null, - \Twig_Node_Expression $file = null, - \Twig_Node_Expression $group = null, - \Twig_Node_Expression $priority = null, - \Twig_Node_Expression $attributes = null, + Node $body = null, + AbstractExpression $file = null, + AbstractExpression $group = null, + AbstractExpression $priority = null, + AbstractExpression $attributes = null, $lineno = 0, $tag = null ) @@ -38,10 +43,10 @@ class TwigNodeStyle extends \Twig_Node implements \Twig_NodeCaptureInterface /** * Compiles the node to PHP. * - * @param \Twig_Compiler $compiler A Twig_Compiler instance + * @param Compiler $compiler A Twig_Compiler instance * @throws \LogicException */ - public function compile(\Twig_Compiler $compiler) + public function compile(Compiler $compiler) { $compiler->addDebugInfo($this); diff --git a/system/src/Grav/Common/Twig/Node/TwigNodeSwitch.php b/system/src/Grav/Common/Twig/Node/TwigNodeSwitch.php index c8e0ee66a..f29ed6dc0 100644 --- a/system/src/Grav/Common/Twig/Node/TwigNodeSwitch.php +++ b/system/src/Grav/Common/Twig/Node/TwigNodeSwitch.php @@ -9,20 +9,23 @@ namespace Grav\Common\Twig\Node; -class TwigNodeSwitch extends \Twig_Node +use Twig\Compiler; +use Twig\Node\Node; + +class TwigNodeSwitch extends Node { /** * TwigNodeSwitch constructor. - * @param \Twig_Node $value - * @param \Twig_Node $cases - * @param \Twig_Node|null $default + * @param Node $value + * @param Node $cases + * @param Node|null $default * @param int $lineno * @param string|null $tag */ public function __construct( - \Twig_Node $value, - \Twig_Node $cases, - \Twig_Node $default = null, + Node $value, + Node $cases, + Node $default = null, $lineno = 0, $tag = null ) @@ -33,9 +36,9 @@ class TwigNodeSwitch extends \Twig_Node /** * Compiles the node to PHP. * - * @param \Twig_Compiler A Twig_Compiler instance + * @param Compiler $compiler A Twig_Compiler instance */ - public function compile(\Twig_Compiler $compiler) + public function compile(Compiler $compiler) { $compiler ->addDebugInfo($this) diff --git a/system/src/Grav/Common/Twig/Node/TwigNodeThrow.php b/system/src/Grav/Common/Twig/Node/TwigNodeThrow.php index dea1c75bf..5bb589908 100644 --- a/system/src/Grav/Common/Twig/Node/TwigNodeThrow.php +++ b/system/src/Grav/Common/Twig/Node/TwigNodeThrow.php @@ -9,18 +9,21 @@ namespace Grav\Common\Twig\Node; -class TwigNodeThrow extends \Twig_Node +use Twig\Compiler; +use Twig\Node\Node; + +class TwigNodeThrow extends Node { /** * TwigNodeThrow constructor. - * @param $code - * @param \Twig_Node $message + * @param int $code + * @param Node $message * @param int $lineno * @param string|null $tag */ public function __construct( $code, - \Twig_Node $message, + Node $message, $lineno = 0, $tag = null ) @@ -31,10 +34,10 @@ class TwigNodeThrow extends \Twig_Node /** * Compiles the node to PHP. * - * @param \Twig_Compiler $compiler A Twig_Compiler instance + * @param Compiler $compiler A Twig_Compiler instance * @throws \LogicException */ - public function compile(\Twig_Compiler $compiler) + public function compile(Compiler $compiler) { $compiler->addDebugInfo($this); diff --git a/system/src/Grav/Common/Twig/Node/TwigNodeTryCatch.php b/system/src/Grav/Common/Twig/Node/TwigNodeTryCatch.php index 7bfc2803f..4028e7416 100644 --- a/system/src/Grav/Common/Twig/Node/TwigNodeTryCatch.php +++ b/system/src/Grav/Common/Twig/Node/TwigNodeTryCatch.php @@ -9,18 +9,21 @@ namespace Grav\Common\Twig\Node; -class TwigNodeTryCatch extends \Twig_Node +use Twig\Compiler; +use Twig\Node\Node; + +class TwigNodeTryCatch extends Node { /** * TwigNodeTryCatch constructor. - * @param \Twig_Node $try - * @param \Twig_Node|null $catch + * @param Node $try + * @param Node|null $catch * @param int $lineno * @param string|null $tag */ public function __construct( - \Twig_Node $try, - \Twig_Node $catch = null, + Node $try, + Node $catch = null, $lineno = 0, $tag = null ) @@ -31,10 +34,10 @@ class TwigNodeTryCatch extends \Twig_Node /** * Compiles the node to PHP. * - * @param \Twig_Compiler $compiler A Twig_Compiler instance + * @param Compiler $compiler A Twig_Compiler instance * @throws \LogicException */ - public function compile(\Twig_Compiler $compiler) + public function compile(Compiler $compiler) { $compiler->addDebugInfo($this); diff --git a/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserMarkdown.php b/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserMarkdown.php index 87cc763be..7a1d1394d 100644 --- a/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserMarkdown.php +++ b/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserMarkdown.php @@ -10,6 +10,8 @@ namespace Grav\Common\Twig\TokenParser; use Grav\Common\Twig\Node\TwigNodeMarkdown; +use Twig\Token; +use Twig\TokenParser\AbstractTokenParser; /** * Adds ability to inline markdown between tags. @@ -21,26 +23,26 @@ use Grav\Common\Twig\Node\TwigNodeMarkdown; * 2. This is another item in that same list * {% endmarkdown %} */ -class TwigTokenParserMarkdown extends \Twig_TokenParser +class TwigTokenParserMarkdown extends AbstractTokenParser { /** * {@inheritdoc} */ - public function parse(\Twig_Token $token) + public function parse(Token $token) { $lineno = $token->getLine(); - $this->parser->getStream()->expect(\Twig_Token::BLOCK_END_TYPE); + $this->parser->getStream()->expect(Token::BLOCK_END_TYPE); $body = $this->parser->subparse(array($this, 'decideMarkdownEnd'), true); - $this->parser->getStream()->expect(\Twig_Token::BLOCK_END_TYPE); + $this->parser->getStream()->expect(Token::BLOCK_END_TYPE); return new TwigNodeMarkdown($body, $lineno, $this->getTag()); } /** * Decide if current token marks end of Markdown block. * - * @param \Twig_Token $token + * @param Token $token * @return bool */ - public function decideMarkdownEnd(\Twig_Token $token) + public function decideMarkdownEnd(Token $token) { return $token->test('endmarkdown'); } diff --git a/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserRender.php b/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserRender.php index de4a815dc..811705d7b 100644 --- a/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserRender.php +++ b/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserRender.php @@ -10,22 +10,25 @@ namespace Grav\Common\Twig\TokenParser; use Grav\Common\Twig\Node\TwigNodeRender; +use Twig\Node\Node; +use Twig\Token; +use Twig\TokenParser\AbstractTokenParser; /** * Renders an object. * * {% render object layout: 'default' with { variable: true } %} */ -class TwigTokenParserRender extends \Twig_TokenParser +class TwigTokenParserRender extends AbstractTokenParser { /** * Parses a token and returns a node. * - * @param \Twig_Token $token A Twig_Token instance + * @param Token $token A Twig_Token instance * - * @return \Twig_Node A Twig_Node instance + * @return Node A Twig_Node instance */ - public function parse(\Twig_Token $token) + public function parse(Token $token) { $lineno = $token->getLine(); @@ -35,27 +38,27 @@ class TwigTokenParserRender extends \Twig_TokenParser } /** - * @param \Twig_Token $token + * @param Token $token * @return array */ - protected function parseArguments(\Twig_Token $token) + protected function parseArguments(Token $token) { $stream = $this->parser->getStream(); $object = $this->parser->getExpressionParser()->parseExpression(); $layout = null; - if ($stream->nextIf(\Twig_Token::NAME_TYPE, 'layout')) { - $stream->expect(\Twig_Token::PUNCTUATION_TYPE, ':'); + if ($stream->nextIf(Token::NAME_TYPE, 'layout')) { + $stream->expect(Token::PUNCTUATION_TYPE, ':'); $layout = $this->parser->getExpressionParser()->parseExpression(); } $context = null; - if ($stream->nextIf(\Twig_Token::NAME_TYPE, 'with')) { + if ($stream->nextIf(Token::NAME_TYPE, 'with')) { $context = $this->parser->getExpressionParser()->parseExpression(); } - $stream->expect(\Twig_Token::BLOCK_END_TYPE); + $stream->expect(Token::BLOCK_END_TYPE); return [$object, $layout, $context]; } diff --git a/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserScript.php b/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserScript.php index 783bfe8d7..bb04707f6 100644 --- a/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserScript.php +++ b/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserScript.php @@ -10,6 +10,9 @@ namespace Grav\Common\Twig\TokenParser; use Grav\Common\Twig\Node\TwigNodeScript; +use Twig\Node\Node; +use Twig\Token; +use Twig\TokenParser\AbstractTokenParser; /** * Adds a script to head/bottom/custom location in the document. @@ -21,16 +24,16 @@ use Grav\Common\Twig\Node\TwigNodeScript; * {% endscript %} */ -class TwigTokenParserScript extends \Twig_TokenParser +class TwigTokenParserScript extends AbstractTokenParser { /** * Parses a token and returns a node. * - * @param \Twig_Token $token A Twig_Token instance + * @param Token $token A Twig_Token instance * - * @return \Twig_Node A Twig_Node instance + * @return Node A Twig_Node instance */ - public function parse(\Twig_Token $token) + public function parse(Token $token) { $lineno = $token->getLine(); $stream = $this->parser->getStream(); @@ -40,51 +43,51 @@ class TwigTokenParserScript extends \Twig_TokenParser $content = null; if ($file === null) { $content = $this->parser->subparse([$this, 'decideBlockEnd'], true); - $stream->expect(\Twig_Token::BLOCK_END_TYPE); + $stream->expect(Token::BLOCK_END_TYPE); } return new TwigNodeScript($content, $file, $group, $priority, $attributes, $lineno, $this->getTag()); } /** - * @param \Twig_Token $token + * @param Token $token * @return array */ - protected function parseArguments(\Twig_Token $token) + protected function parseArguments(Token $token) { $stream = $this->parser->getStream(); $file = null; - if (!$stream->test(\Twig_Token::NAME_TYPE) && !$stream->test(\Twig_Token::OPERATOR_TYPE) && !$stream->test(\Twig_Token::BLOCK_END_TYPE)) { + if (!$stream->test(Token::NAME_TYPE) && !$stream->test(Token::OPERATOR_TYPE) && !$stream->test(Token::BLOCK_END_TYPE)) { $file = $this->parser->getExpressionParser()->parseExpression(); } $group = null; - if ($stream->nextIf(\Twig_Token::OPERATOR_TYPE, 'in')) { + if ($stream->nextIf(Token::OPERATOR_TYPE, 'in')) { $group = $this->parser->getExpressionParser()->parseExpression(); } $priority = null; - if ($stream->nextIf(\Twig_Token::NAME_TYPE, 'priority')) { - $stream->expect(\Twig_Token::PUNCTUATION_TYPE, ':'); + if ($stream->nextIf(Token::NAME_TYPE, 'priority')) { + $stream->expect(Token::PUNCTUATION_TYPE, ':'); $priority = $this->parser->getExpressionParser()->parseExpression(); } $attributes = null; - if ($stream->nextIf(\Twig_Token::NAME_TYPE, 'with')) { + if ($stream->nextIf(Token::NAME_TYPE, 'with')) { $attributes = $this->parser->getExpressionParser()->parseExpression(); } - $stream->expect(\Twig_Token::BLOCK_END_TYPE); + $stream->expect(Token::BLOCK_END_TYPE); return [$file, $group, $priority, $attributes]; } /** - * @param \Twig_Token $token + * @param Token $token * @return bool */ - public function decideBlockEnd(\Twig_Token $token) + public function decideBlockEnd(Token $token) { return $token->test('endscript'); } diff --git a/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserStyle.php b/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserStyle.php index b532e22dd..5a5beb66e 100644 --- a/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserStyle.php +++ b/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserStyle.php @@ -10,6 +10,9 @@ namespace Grav\Common\Twig\TokenParser; use Grav\Common\Twig\Node\TwigNodeStyle; +use Twig\Node\Node; +use Twig\Token; +use Twig\TokenParser\AbstractTokenParser; /** * Adds a style to the document. @@ -20,16 +23,16 @@ use Grav\Common\Twig\Node\TwigNodeStyle; * a { color: red; } * {% endstyle %} */ -class TwigTokenParserStyle extends \Twig_TokenParser +class TwigTokenParserStyle extends AbstractTokenParser { /** * Parses a token and returns a node. * - * @param \Twig_Token $token A Twig_Token instance + * @param Token $token A Twig_Token instance * - * @return \Twig_Node A Twig_Node instance + * @return Node A Twig_Node instance */ - public function parse(\Twig_Token $token) + public function parse(Token $token) { $lineno = $token->getLine(); $stream = $this->parser->getStream(); @@ -39,51 +42,51 @@ class TwigTokenParserStyle extends \Twig_TokenParser $content = null; if (!$file) { $content = $this->parser->subparse([$this, 'decideBlockEnd'], true); - $stream->expect(\Twig_Token::BLOCK_END_TYPE); + $stream->expect(Token::BLOCK_END_TYPE); } return new TwigNodeStyle($content, $file, $group, $priority, $attributes, $lineno, $this->getTag()); } /** - * @param \Twig_Token $token + * @param Token $token * @return array */ - protected function parseArguments(\Twig_Token $token) + protected function parseArguments(Token $token) { $stream = $this->parser->getStream(); $file = null; - if (!$stream->test(\Twig_Token::NAME_TYPE) && !$stream->test(\Twig_Token::OPERATOR_TYPE) && !$stream->test(\Twig_Token::BLOCK_END_TYPE)) { + if (!$stream->test(Token::NAME_TYPE) && !$stream->test(Token::OPERATOR_TYPE) && !$stream->test(Token::BLOCK_END_TYPE)) { $file = $this->parser->getExpressionParser()->parseExpression(); } $group = null; - if ($stream->nextIf(\Twig_Token::OPERATOR_TYPE, 'in')) { + if ($stream->nextIf(Token::OPERATOR_TYPE, 'in')) { $group = $this->parser->getExpressionParser()->parseExpression(); } $priority = null; - if ($stream->nextIf(\Twig_Token::NAME_TYPE, 'priority')) { - $stream->expect(\Twig_Token::PUNCTUATION_TYPE, ':'); + if ($stream->nextIf(Token::NAME_TYPE, 'priority')) { + $stream->expect(Token::PUNCTUATION_TYPE, ':'); $priority = $this->parser->getExpressionParser()->parseExpression(); } $attributes = null; - if ($stream->nextIf(\Twig_Token::NAME_TYPE, 'with')) { + if ($stream->nextIf(Token::NAME_TYPE, 'with')) { $attributes = $this->parser->getExpressionParser()->parseExpression(); } - $stream->expect(\Twig_Token::BLOCK_END_TYPE); + $stream->expect(Token::BLOCK_END_TYPE); return [$file, $group, $priority, $attributes]; } /** - * @param \Twig_Token $token + * @param Token $token * @return bool */ - public function decideBlockEnd(\Twig_Token $token) + public function decideBlockEnd(Token $token) { return $token->test('endstyle'); } diff --git a/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserSwitch.php b/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserSwitch.php index 722c5f8f0..7bd3ba99f 100644 --- a/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserSwitch.php +++ b/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserSwitch.php @@ -11,6 +11,10 @@ namespace Grav\Common\Twig\TokenParser; use Grav\Common\Twig\Node\TwigNodeSwitch; +use Twig\Error\SyntaxError; +use Twig\Node\Node; +use Twig\Token; +use Twig\TokenParser\AbstractTokenParser; /** * Adds ability use elegant switch instead of ungainly if statements @@ -24,25 +28,25 @@ use Grav\Common\Twig\Node\TwigNodeSwitch; * {{ my_data.default }} * {% endswitch %} */ -class TwigTokenParserSwitch extends \Twig_TokenParser +class TwigTokenParserSwitch extends AbstractTokenParser { /** * {@inheritdoc} */ - public function parse(\Twig_Token $token) + public function parse(Token $token) { $lineno = $token->getLine(); $stream = $this->parser->getStream(); $name = $this->parser->getExpressionParser()->parseExpression(); - $stream->expect(\Twig_Token::BLOCK_END_TYPE); + $stream->expect(Token::BLOCK_END_TYPE); // There can be some whitespace between the {% switch %} and first {% case %} tag. - while ($stream->getCurrent()->getType() === \Twig_Token::TEXT_TYPE && trim($stream->getCurrent()->getValue()) === '') { + while ($stream->getCurrent()->getType() === Token::TEXT_TYPE && trim($stream->getCurrent()->getValue()) === '') { $stream->next(); } - $stream->expect(\Twig_Token::BLOCK_START_TYPE); + $stream->expect(Token::BLOCK_START_TYPE); $expressionParser = $this->parser->getExpressionParser(); @@ -60,23 +64,23 @@ class TwigTokenParserSwitch extends \Twig_TokenParser while (true) { $values[] = $expressionParser->parsePrimaryExpression(); // Multiple allowed values? - if ($stream->test(\Twig_Token::OPERATOR_TYPE, 'or')) { + if ($stream->test(Token::OPERATOR_TYPE, 'or')) { $stream->next(); } else { break; } } - $stream->expect(\Twig_Token::BLOCK_END_TYPE); + $stream->expect(Token::BLOCK_END_TYPE); $body = $this->parser->subparse(array($this, 'decideIfFork')); - $cases[] = new \Twig_Node([ - 'values' => new \Twig_Node($values), + $cases[] = new Node([ + 'values' => new Node($values), 'body' => $body ]); break; case 'default': - $stream->expect(\Twig_Token::BLOCK_END_TYPE); + $stream->expect(Token::BLOCK_END_TYPE); $default = $this->parser->subparse(array($this, 'decideIfEnd')); break; @@ -85,22 +89,22 @@ class TwigTokenParserSwitch extends \Twig_TokenParser break; default: - throw new \Twig_Error_Syntax(sprintf('Unexpected end of template. Twig was looking for the following tags "case", "default", or "endswitch" to close the "switch" block started at line %d)', $lineno), -1); + throw new SyntaxError(sprintf('Unexpected end of template. Twig was looking for the following tags "case", "default", or "endswitch" to close the "switch" block started at line %d)', $lineno), -1); } } - $stream->expect(\Twig_Token::BLOCK_END_TYPE); + $stream->expect(Token::BLOCK_END_TYPE); - return new TwigNodeSwitch($name, new \Twig_Node($cases), $default, $lineno, $this->getTag()); + return new TwigNodeSwitch($name, new Node($cases), $default, $lineno, $this->getTag()); } /** * Decide if current token marks switch logic. * - * @param \Twig_Token $token + * @param Token $token * @return bool */ - public function decideIfFork(\Twig_Token $token) + public function decideIfFork(Token $token) { return $token->test(array('case', 'default', 'endswitch')); } @@ -108,10 +112,10 @@ class TwigTokenParserSwitch extends \Twig_TokenParser /** * Decide if current token marks end of swtich block. * - * @param \Twig_Token $token + * @param Token $token * @return bool */ - public function decideIfEnd(\Twig_Token $token) + public function decideIfEnd(Token $token) { return $token->test(array('endswitch')); } diff --git a/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserThrow.php b/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserThrow.php index e585058d6..c0d6de943 100644 --- a/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserThrow.php +++ b/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserThrow.php @@ -10,6 +10,9 @@ namespace Grav\Common\Twig\TokenParser; use Grav\Common\Twig\Node\TwigNodeThrow; +use Twig\Node\Node; +use Twig\Token; +use Twig\TokenParser\AbstractTokenParser; /** * Handles try/catch in template file. @@ -18,23 +21,23 @@ use Grav\Common\Twig\Node\TwigNodeThrow; * {% throw 404 'Not Found' %} * */ -class TwigTokenParserThrow extends \Twig_TokenParser +class TwigTokenParserThrow extends AbstractTokenParser { /** * Parses a token and returns a node. * - * @param \Twig_Token $token A Twig_Token instance + * @param Token $token A Twig_Token instance * - * @return \Twig_Node A Twig_Node instance + * @return Node A Twig_Node instance */ - public function parse(\Twig_Token $token) + public function parse(Token $token) { $lineno = $token->getLine(); $stream = $this->parser->getStream(); - $code = $stream->expect(\Twig_Token::NUMBER_TYPE)->getValue(); + $code = $stream->expect(Token::NUMBER_TYPE)->getValue(); $message = $this->parser->getExpressionParser()->parseExpression(); - $stream->expect(\Twig_Token::BLOCK_END_TYPE); + $stream->expect(Token::BLOCK_END_TYPE); return new TwigNodeThrow($code, $message, $lineno, $this->getTag()); } diff --git a/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserTryCatch.php b/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserTryCatch.php index 7e9cb760f..95adef394 100644 --- a/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserTryCatch.php +++ b/system/src/Grav/Common/Twig/TokenParser/TwigTokenParserTryCatch.php @@ -10,6 +10,9 @@ namespace Grav\Common\Twig\TokenParser; use Grav\Common\Twig\Node\TwigNodeTryCatch; +use Twig\Node\Node; +use Twig\Token; +use Twig\TokenParser\AbstractTokenParser; /** * Handles try/catch in template file. @@ -22,37 +25,37 @@ use Grav\Common\Twig\Node\TwigNodeTryCatch; * {% endcatch %} * */ -class TwigTokenParserTryCatch extends \Twig_TokenParser +class TwigTokenParserTryCatch extends AbstractTokenParser { /** * Parses a token and returns a node. * - * @param \Twig_Token $token A Twig_Token instance + * @param Token $token A Twig_Token instance * - * @return \Twig_Node A Twig_Node instance + * @return Node A Twig_Node instance */ - public function parse(\Twig_Token $token) + public function parse(Token $token) { $lineno = $token->getLine(); $stream = $this->parser->getStream(); - $stream->expect(\Twig_Token::BLOCK_END_TYPE); + $stream->expect(Token::BLOCK_END_TYPE); $try = $this->parser->subparse([$this, 'decideCatch']); $stream->next(); - $stream->expect(\Twig_Token::BLOCK_END_TYPE); + $stream->expect(Token::BLOCK_END_TYPE); $catch = $this->parser->subparse([$this, 'decideEnd']); $stream->next(); - $stream->expect(\Twig_Token::BLOCK_END_TYPE); + $stream->expect(Token::BLOCK_END_TYPE); return new TwigNodeTryCatch($try, $catch, $lineno, $this->getTag()); } - public function decideCatch(\Twig_Token $token) + public function decideCatch(Token $token) { return $token->test(array('catch')); } - public function decideEnd(\Twig_Token $token) + public function decideEnd(Token $token) { return $token->test(array('endtry')) || $token->test(array('endcatch')); }