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

FixMacroCallsTrait   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 5
c 1
b 0
f 0
lcom 0
cbo 4
dl 0
loc 20
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
B fixMacroCallsRecursively() 0 14 5
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