Completed
Push — master ( 3af88c...d76c98 )
by Mewes
05:10
created

FixMacroCallsTrait::fixMacroCallsRecursively()   B

Complexity

Conditions 5
Paths 4

Size

Total Lines 14
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 14
rs 8.8571
cc 5
eloc 7
nc 4
nop 1
1
<?php
2
3
namespace MewesK\TwigExcelBundle\Twig\TokenParser\Traits;
4
5
use Twig_Node;
6
use Twig_Node_Expression_MethodCall;
7
use Twig_Node_Expression_Name;
8
9
/**
10
 * Class FixMacroCallsTrait
11
 *
12
 * @package MewesK\TwigExcelBundle\Twig\TokenParser
13
 */
14
trait FixMacroCallsTrait
15
{
16
    /**
17
     * @param Twig_Node $node
18
     */
19
    private function fixMacroCallsRecursively(Twig_Node $node)
20
    {
21
        foreach ($node->getIterator() as $key => $subNode) {
22
            if ($subNode instanceof Twig_Node_Expression_MethodCall) {
23
                /**
24
                 * @var \Twig_Node_Expression_Array $argumentsNode
25
                 */
26
                $argumentsNode = $subNode->getNode('arguments');
27
                $argumentsNode->addElement(new Twig_Node_Expression_Name('phpExcel', null), null);
28
            } elseif ($subNode instanceof Twig_Node && $subNode->count() > 0) {
29
                $this->fixMacroCallsRecursively($subNode);
30
            }
31
        }
32
    }
33
}
34