1212namespace Translation \Bundle \Twig \Visitor ;
1313
1414use Translation \Bundle \Twig \Node \Transchoice ;
15+ use Twig \Environment ;
16+ use Twig \Node \Expression \ArrayExpression ;
17+ use Twig \Node \Expression \Binary \EqualBinary ;
18+ use Twig \Node \Expression \ConditionalExpression ;
19+ use Twig \Node \Expression \ConstantExpression ;
20+ use Twig \Node \Expression \FilterExpression ;
21+ use Twig \Node \Node ;
22+ use Twig \NodeVisitor \AbstractNodeVisitor ;
1523
1624/**
1725 * Applies the value of the "desc" filter if the "trans" filter has no
2129 *
2230 * @author Johannes M. Schmitt <[email protected] > 2331 */
24- final class DefaultApplyingNodeVisitor extends \Twig_BaseNodeVisitor
32+ final class DefaultApplyingNodeVisitor extends AbstractNodeVisitor
2533{
2634 /**
2735 * @var bool
@@ -37,29 +45,29 @@ public function setEnabled($bool)
3745 }
3846
3947 /**
40- * @param \Twig_Node $node
41- * @param \Twig_Environment $env
48+ * @param Node $node
49+ * @param Environment $env
4250 *
43- * @return \Twig_Node
51+ * @return Node
4452 */
45- public function doEnterNode (\ Twig_Node $ node , \ Twig_Environment $ env )
53+ public function doEnterNode (Node $ node , Environment $ env )
4654 {
4755 if (!$ this ->enabled ) {
4856 return $ node ;
4957 }
5058
51- if (!($ node instanceof \Twig_Node_Expression_Filter && 'desc ' === $ node ->getNode ('filter ' )->getAttribute ('value ' ))) {
59+ if (!($ node instanceof FilterExpression && 'desc ' === $ node ->getNode ('filter ' )->getAttribute ('value ' ))) {
5260 return $ node ;
5361 }
5462
5563 $ transNode = $ node ->getNode ('node ' );
56- while ($ transNode instanceof \Twig_Node_Expression_Filter
64+ while ($ transNode instanceof FilterExpression
5765 && 'trans ' !== $ transNode ->getNode ('filter ' )->getAttribute ('value ' )
5866 && 'transchoice ' !== $ transNode ->getNode ('filter ' )->getAttribute ('value ' )) {
5967 $ transNode = $ transNode ->getNode ('node ' );
6068 }
6169
62- if (!$ transNode instanceof \Twig_Node_Expression_Filter ) {
70+ if (!$ transNode instanceof FilterExpression ) {
6371 throw new \RuntimeException (sprintf ('The "desc" filter must be applied after a "trans", or "transchoice" filter. ' ));
6472 }
6573
@@ -71,7 +79,7 @@ public function doEnterNode(\Twig_Node $node, \Twig_Environment $env)
7179 // so that we can catch a possible exception when the default translation has not yet
7280 // been extracted
7381 if ('transchoice ' === $ transNode ->getNode ('filter ' )->getAttribute ('value ' )) {
74- $ transchoiceArguments = new \ Twig_Node_Expression_Array ([], $ transNode ->getTemplateLine ());
82+ $ transchoiceArguments = new ArrayExpression ([], $ transNode ->getTemplateLine ());
7583 $ transchoiceArguments ->addElement ($ wrappingNode ->getNode ('node ' ));
7684 $ transchoiceArguments ->addElement ($ defaultNode );
7785 foreach ($ wrappingNode ->getNode ('arguments ' ) as $ arg ) {
@@ -91,21 +99,21 @@ public function doEnterNode(\Twig_Node $node, \Twig_Environment $env)
9199
92100 // remove the replacements from the test node
93101 $ testNode ->setNode ('arguments ' , clone $ testNode ->getNode ('arguments ' ));
94- $ testNode ->getNode ('arguments ' )->setNode (0 , new \ Twig_Node_Expression_Array ([], $ lineno ));
102+ $ testNode ->getNode ('arguments ' )->setNode (0 , new ArrayExpression ([], $ lineno ));
95103
96104 // wrap the default node in a |replace filter
97- $ defaultNode = new \ Twig_Node_Expression_Filter (
105+ $ defaultNode = new FilterExpression (
98106 clone $ node ->getNode ('arguments ' )->getNode (0 ),
99- new \ Twig_Node_Expression_Constant ('replace ' , $ lineno ),
100- new \ Twig_Node ([
107+ new ConstantExpression ('replace ' , $ lineno ),
108+ new Node ([
101109 clone $ wrappingNode ->getNode ('arguments ' )->getNode (0 ),
102110 ]),
103111 $ lineno
104112 );
105113 }
106114
107- $ condition = new \ Twig_Node_Expression_Conditional (
108- new \ Twig_Node_Expression_Binary_Equal ($ testNode , $ transNode ->getNode ('node ' ), $ wrappingNode ->getTemplateLine ()),
115+ $ condition = new ConditionalExpression (
116+ new EqualBinary ($ testNode , $ transNode ->getNode ('node ' ), $ wrappingNode ->getTemplateLine ()),
109117 $ defaultNode ,
110118 clone $ wrappingNode ,
111119 $ wrappingNode ->getTemplateLine ()
@@ -116,12 +124,12 @@ public function doEnterNode(\Twig_Node $node, \Twig_Environment $env)
116124 }
117125
118126 /**
119- * @param \Twig_Node $node
120- * @param \Twig_Environment $env
127+ * @param Node $node
128+ * @param Environment $env
121129 *
122- * @return \Twig_Node
130+ * @return Node
123131 */
124- public function doLeaveNode (\ Twig_Node $ node , \ Twig_Environment $ env )
132+ public function doLeaveNode (Node $ node , Environment $ env )
125133 {
126134 return $ node ;
127135 }
0 commit comments