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

DeclareSt   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 5

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
dl 0
loc 26
ccs 0
cts 13
cp 0
rs 10
c 0
b 0
f 0
wmc 5
lcom 0
cbo 5

1 Method

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