Completed
Pull Request — master (#229)
by Enrico
04:42
created

ForSt::compile()   B

Complexity

Conditions 5
Paths 16

Size

Total Lines 18
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 14
CRAP Score 5

Importance

Changes 0
Metric Value
cc 5
eloc 9
nc 16
nop 2
dl 0
loc 18
ccs 14
cts 14
cp 1
crap 5
rs 8.8571
c 0
b 0
f 0
1
<?php
2
/**
3
 * @author Patsura Dmitry https://github.com/ovr <[email protected]>
4
 */
5
6
namespace PHPSA\Compiler\Statement;
7
8
use PHPSA\CompiledExpression;
9
use PHPSA\Context;
10
11
class ForSt extends AbstractCompiler
12
{
13
    protected $name = '\PhpParser\Node\Stmt\For_';
14
15
    /**
16
     * @param \PhpParser\Node\Stmt\For_ $stmt
17
     * @param Context $context
18
     * @return CompiledExpression
19
     */
20 6
    public function compile($stmt, Context $context)
21
    {
22 6
        foreach ($stmt->init as $init) {
23 2
            $context->getExpressionCompiler()->compile($init);
24 6
        }
25
26 6
        foreach ($stmt->cond as $cond) {
27 3
            $context->getExpressionCompiler()->compile($cond);
28 6
        }
29
30 6
        foreach ($stmt->loop as $loop) {
31 2
            $context->getExpressionCompiler()->compile($loop);
32 6
        }
33
34 6
        foreach ($stmt->stmts as $statement) {
35 3
            \PHPSA\nodeVisitorFactory($statement, $context);
36 6
        }
37 6
    }
38
}
39