Skip to content

Commit 7c7474e

Browse files
committed
Remove Twig deprecations
1 parent 553ea2b commit 7c7474e

File tree

3 files changed

+30
-10
lines changed

3 files changed

+30
-10
lines changed

Diff for: Twig/Visitor/DefaultApplyingNodeVisitor.php

+16-6
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
use Twig\Node\Expression\Ternary\ConditionalTernary;
2222
use Twig\Node\Node;
2323
use Twig\Node\Nodes;
24-
use Twig\NodeVisitor\AbstractNodeVisitor;
24+
use Twig\NodeVisitor\NodeVisitorInterface;
2525
use Twig\TwigFilter;
2626

2727
/**
@@ -32,7 +32,7 @@
3232
*
3333
* @author Johannes M. Schmitt <[email protected]>
3434
*/
35-
final class DefaultApplyingNodeVisitor extends AbstractNodeVisitor
35+
final class DefaultApplyingNodeVisitor implements NodeVisitorInterface
3636
{
3737
/**
3838
* @var bool
@@ -50,14 +50,14 @@ public function doEnterNode(Node $node, Environment $env): Node
5050
return $node;
5151
}
5252

53-
if (!($node instanceof FilterExpression && 'desc' === $node->getNode('filter')->getAttribute('value'))) {
53+
if (!($node instanceof FilterExpression && 'desc' === $node->getAttribute('twig_callable')->getName())) {
5454
return $node;
5555
}
5656

5757
$transNode = $node->getNode('node');
5858
while ($transNode instanceof FilterExpression
59-
&& 'trans' !== $transNode->getNode('filter')->getAttribute('value')
60-
&& 'transchoice' !== $transNode->getNode('filter')->getAttribute('value')) {
59+
&& 'trans' !== $transNode->getAttribute('twig_callable')->getName()
60+
&& 'transchoice' !== $transNode->getAttribute('twig_callable')->getName()) {
6161
$transNode = $transNode->getNode('node');
6262
}
6363

@@ -72,7 +72,7 @@ public function doEnterNode(Node $node, Environment $env): Node
7272
// if the |transchoice filter is used, delegate the call to the TranslationExtension
7373
// so that we can catch a possible exception when the default translation has not yet
7474
// been extracted
75-
if ('transchoice' === $transNode->getNode('filter')->getAttribute('value')) {
75+
if ('transchoice' === $transNode->getAttribute('twig_callable')->getName()) {
7676
$transchoiceArguments = new ArrayExpression([], $transNode->getTemplateLine());
7777
$transchoiceArguments->addElement($wrappingNode->getNode('node'));
7878
$transchoiceArguments->addElement($defaultNode);
@@ -150,4 +150,14 @@ public function getPriority(): int
150150
{
151151
return -2;
152152
}
153+
154+
public function enterNode(Node $node, Environment $env): Node
155+
{
156+
return $this->doEnterNode($node, $env);
157+
}
158+
159+
public function leaveNode(Node $node, Environment $env): ?Node
160+
{
161+
return $this->doLeaveNode($node, $env);
162+
}
153163
}

Diff for: Twig/Visitor/RemovingNodeVisitor.php

+13-3
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@
1414
use Twig\Environment;
1515
use Twig\Node\Expression\FilterExpression;
1616
use Twig\Node\Node;
17-
use Twig\NodeVisitor\AbstractNodeVisitor;
17+
use Twig\NodeVisitor\NodeVisitorInterface;
1818

1919
/**
2020
* Removes translation metadata filters from the AST.
2121
*
2222
* @author Johannes M. Schmitt <[email protected]>
2323
*/
24-
final class RemovingNodeVisitor extends AbstractNodeVisitor
24+
final class RemovingNodeVisitor implements NodeVisitorInterface
2525
{
2626
/**
2727
* @var bool
@@ -36,7 +36,7 @@ public function setEnabled(bool $bool): void
3636
protected function doEnterNode(Node $node, Environment $env): Node
3737
{
3838
if ($this->enabled && $node instanceof FilterExpression) {
39-
$name = $node->getNode('filter')->getAttribute('value');
39+
$name = $node->getAttribute('twig_callable')->getName();
4040

4141
if ('desc' === $name || 'meaning' === $name) {
4242
return $this->enterNode($node->getNode('node'), $env);
@@ -55,4 +55,14 @@ public function getPriority(): int
5555
{
5656
return -1;
5757
}
58+
59+
public function enterNode(Node $node, Environment $env): Node
60+
{
61+
return $this->doEnterNode($node, $env);
62+
}
63+
64+
public function leaveNode(Node $node, Environment $env): ?Node
65+
{
66+
return $this->doLeaveNode($node, $env);
67+
}
5868
}

Diff for: composer.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"php-translation/symfony-storage": "^2.1",
2323
"php-translation/extractor": "^2.0",
2424
"nyholm/nsa": "^1.1",
25-
"twig/twig": "^3.3",
25+
"twig/twig": "^3.12",
2626
"symfony/asset": "^5.3 || ^6.0 || ^7.0"
2727
},
2828
"require-dev": {

0 commit comments

Comments
 (0)