Lines Matching refs:node

63     protected function doEnterNode(Node $node, Environment $env)  argument
66 $this->enterOptimizeFor($node, $env);
69 return $node;
72 protected function doLeaveNode(Node $node, Environment $env) argument
75 $this->leaveOptimizeFor($node, $env);
79 $node = $this->optimizeRawFilter($node, $env);
82 $node = $this->optimizePrintNode($node, $env);
84 return $node;
94 private function optimizePrintNode(Node $node, Environment $env): Node argument
96 if (!$node instanceof PrintNode) {
97 return $node;
100 $exprNode = $node->getNode('expr');
110 return $node;
116 private function optimizeRawFilter(Node $node, Environment $env): Node argument
118 …if ($node instanceof FilterExpression && 'raw' == $node->getNode('filter')->getAttribute('value'))…
119 return $node->getNode('node');
122 return $node;
128 private function enterOptimizeFor(Node $node, Environment $env) argument
130 if ($node instanceof ForNode) {
132 $node->setAttribute('with_loop', false);
133 array_unshift($this->loops, $node);
134 … array_unshift($this->loopsTargets, $node->getNode('value_target')->getAttribute('name'));
135 array_unshift($this->loopsTargets, $node->getNode('key_target')->getAttribute('name'));
144 elseif ($node instanceof NameExpression && 'loop' === $node->getAttribute('name')) {
145 $node->setAttribute('always_defined', true);
150 …elseif ($node instanceof NameExpression && \in_array($node->getAttribute('name'), $this->loopsTarg…
151 $node->setAttribute('always_defined', true);
155 elseif ($node instanceof BlockReferenceNode || $node instanceof BlockReferenceExpression) {
160 elseif ($node instanceof IncludeNode && !$node->getAttribute('only')) {
165 elseif ($node instanceof FunctionExpression
166 && 'include' === $node->getAttribute('name')
167 && (!$node->getNode('arguments')->hasNode('with_context')
168 … || false !== $node->getNode('arguments')->getNode('with_context')->getAttribute('value')
175 elseif ($node instanceof GetAttrExpression
176 && (!$node->getNode('attribute') instanceof ConstantExpression
177 || 'parent' === $node->getNode('attribute')->getAttribute('value')
180 || ($node->getNode('node') instanceof NameExpression
181 && 'loop' === $node->getNode('node')->getAttribute('name')
192 private function leaveOptimizeFor(Node $node, Environment $env) argument
194 if ($node instanceof ForNode) {