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

DeclareSt::compile()   B

Complexity

Conditions 5
Paths 6

Size

Total Lines 16
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 30

Importance

Changes 0
Metric Value
cc 5
eloc 8
nc 6
nop 2
dl 0
loc 16
ccs 0
cts 13
cp 0
crap 30
rs 8.8571
c 0
b 0
f 0
1
<?php
2
3
namespace PHPSA\Compiler\Statement;
4
5
use PHPSA\CompiledExpression;
6
use PHPSA\Context;
7
8
class DeclareSt extends AbstractCompiler
9
{
10
    protected $name = '\PhpParser\Node\Stmt\Declare_';
11
12
    /**
13
     * @param \PhpParser\Node\Stmt\Declare_ $stmt
14
     * @param Context $context
15
     * @return CompiledExpression
16
     */
17
    public function compile($stmt, Context $context)
18
    {
19
        $compiler = $context->getExpressionCompiler();
20
21
        if (count($stmt->declares) > 0) {
22
            foreach ($stmt->declares as $declare) {
23
                $compiler->compile($declare->value);
24
            }
25
        }
26
27
        if (count($stmt->stmts) > 0) {
28
            foreach ($stmt->stmts as $stmt) {
29
                \PHPSA\nodeVisitorFactory($stmt, $context);
30
            }
31
        }
32
    }
33
}
34