diff --git a/src/Node/SpacelessNode.php b/src/Node/SpacelessNode.php index 6d2b1958a..9beebf32c 100644 --- a/src/Node/SpacelessNode.php +++ b/src/Node/SpacelessNode.php @@ -18,8 +18,6 @@ use Twig\Compiler; * * It removes spaces between HTML tags. * - * @internal Not used anymore, to be removed in 3.0 - * * @author Fabien Potencier */ class SpacelessNode extends Node diff --git a/src/TokenParser/SpacelessTokenParser.php b/src/TokenParser/SpacelessTokenParser.php index 3c3de4390..5b5656bc6 100644 --- a/src/TokenParser/SpacelessTokenParser.php +++ b/src/TokenParser/SpacelessTokenParser.php @@ -11,10 +11,7 @@ namespace Twig\TokenParser; -use Twig\Node\BlockNode; -use Twig\Node\Expression\BlockReferenceExpression; -use Twig\Node\Expression\ConstantExpression; -use Twig\Node\PrintNode; +use Twig\Node\SpacelessNode; use Twig\Token; /** @@ -33,23 +30,13 @@ class SpacelessTokenParser extends AbstractTokenParser { public function parse(Token $token) { - $this->parser->getStream()->injectTokens([ - new Token(Token::NAME_TYPE, 'spaceless', $token->getLine()), - ]); + $lineno = $token->getLine(); - $name = $this->parser->getVarName(); - $ref = new BlockReferenceExpression(new ConstantExpression($name, $token->getLine()), null, $token->getLine(), $this->getTag()); - - $filter = $this->parser->getExpressionParser()->parseFilterExpressionRaw($ref, $this->getTag()); $this->parser->getStream()->expect(Token::BLOCK_END_TYPE); - $body = $this->parser->subparse([$this, 'decideSpacelessEnd'], true); $this->parser->getStream()->expect(Token::BLOCK_END_TYPE); - $block = new BlockNode($name, $body, $token->getLine()); - $this->parser->setBlock($name, $block); - - return new PrintNode($filter, $token->getLine(), $this->getTag()); + return new SpacelessNode($body, $lineno, $this->getTag()); } public function decideSpacelessEnd(Token $token)