From 0aa976eb26a1ee5bf0fc28c75610c5052d4af704 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20W=C3=B3js?= Date: Thu, 20 Feb 2025 15:41:45 +0100 Subject: [PATCH 1/3] [Twig] Fixed argument passed to FilterExpression "Not passing an instance of "TwigFilter" when creating a "replace" filter of type "Twig\Node\Expression\FilterExpression" is deprecated." deprecation warning --- Twig/DefaultApplyingNodeVisitor.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Twig/DefaultApplyingNodeVisitor.php b/Twig/DefaultApplyingNodeVisitor.php index ee9f72fa..c02739c0 100644 --- a/Twig/DefaultApplyingNodeVisitor.php +++ b/Twig/DefaultApplyingNodeVisitor.php @@ -25,7 +25,6 @@ use Twig\Node\Expression\ArrayExpression; use Twig\Node\Expression\Binary\EqualBinary; use Twig\Node\Expression\ConditionalExpression; -use Twig\Node\Expression\ConstantExpression; use Twig\Node\Expression\FilterExpression; use Twig\Node\Node; use Twig\NodeVisitor\NodeVisitorInterface; @@ -90,7 +89,7 @@ public function enterNode(Node $node, Environment $env): Node // wrap the default node in a |replace filter $defaultNode = new FilterExpression( $arguments[0], - new ConstantExpression('replace', $lineno), + $env->getFilter('replace'), new Node([$wrappingNodeArguments[0]]), $lineno ); From 04661c34096e3071cb26734d97b507a5a3db59e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20W=C3=B3js?= Date: Thu, 20 Feb 2025 16:06:07 +0100 Subject: [PATCH 2/3] [Twig] Replaced ConditionalExpression with ConditionalTernary --- Twig/DefaultApplyingNodeVisitor.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Twig/DefaultApplyingNodeVisitor.php b/Twig/DefaultApplyingNodeVisitor.php index c02739c0..6ecb2c53 100644 --- a/Twig/DefaultApplyingNodeVisitor.php +++ b/Twig/DefaultApplyingNodeVisitor.php @@ -24,8 +24,8 @@ use Twig\Environment; use Twig\Node\Expression\ArrayExpression; use Twig\Node\Expression\Binary\EqualBinary; -use Twig\Node\Expression\ConditionalExpression; use Twig\Node\Expression\FilterExpression; +use Twig\Node\Expression\Ternary\ConditionalTernary; use Twig\Node\Node; use Twig\NodeVisitor\NodeVisitorInterface; @@ -95,7 +95,7 @@ public function enterNode(Node $node, Environment $env): Node ); } - $condition = new ConditionalExpression( + $condition = new ConditionalTernary( new EqualBinary($testNode, $transNode->getNode('node'), $wrappingNode->getTemplateLine()), $defaultNode, clone $wrappingNode, From 3fe84d786020f38897791543d2b0123bd753b058 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20W=C3=B3js?= Date: Thu, 20 Feb 2025 16:06:44 +0100 Subject: [PATCH 3/3] [Twig] Fixed direct instantiation of Twig\Node\Node class --- Twig/DefaultApplyingNodeVisitor.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Twig/DefaultApplyingNodeVisitor.php b/Twig/DefaultApplyingNodeVisitor.php index 6ecb2c53..9075b0cc 100644 --- a/Twig/DefaultApplyingNodeVisitor.php +++ b/Twig/DefaultApplyingNodeVisitor.php @@ -27,6 +27,7 @@ use Twig\Node\Expression\FilterExpression; use Twig\Node\Expression\Ternary\ConditionalTernary; use Twig\Node\Node; +use Twig\Node\Nodes; use Twig\NodeVisitor\NodeVisitorInterface; /** @@ -84,13 +85,13 @@ public function enterNode(Node $node, Environment $env): Node // remove the replacements from the test node $testNodeArguments = iterator_to_array($testNode->getNode('arguments')); $testNodeArguments[0] = new ArrayExpression([], $lineno); - $testNode->setNode('arguments', new Node($testNodeArguments)); + $testNode->setNode('arguments', new Nodes($testNodeArguments)); // wrap the default node in a |replace filter $defaultNode = new FilterExpression( $arguments[0], $env->getFilter('replace'), - new Node([$wrappingNodeArguments[0]]), + new Nodes([$wrappingNodeArguments[0]]), $lineno ); }