Namespace_   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 51
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 2
Bugs 0 Features 2
Metric Value
wmc 6
c 2
b 0
f 2
lcom 1
cbo 2
dl 0
loc 51
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 2
A getNode() 0 3 1
A addStmt() 0 5 1
A addStmts() 0 7 2
1
<?php
2
3
namespace PhpParser\Builder;
4
5
use PhpParser;
6
use PhpParser\Node;
7
use PhpParser\Node\Stmt;
8
9
class Namespace_ extends PhpParser\BuilderAbstract
10
{
11
    private $name;
12
    private $stmts = array();
13
14
    /**
15
     * Creates a namespace builder.
16
     *
17
     * @param Node\Name|string|null $name Name of the namespace
18
     */
19
    public function __construct($name) {
20
        $this->name = null !== $name ? $this->normalizeName($name) : null;
21
    }
22
23
    /**
24
     * Adds a statement.
25
     *
26
     * @param Node|PhpParser\Builder $stmt The statement to add
27
     *
28
     * @return $this The builder instance (for fluid interface)
29
     */
30
    public function addStmt($stmt) {
31
        $this->stmts[] = $this->normalizeNode($stmt);
32
33
        return $this;
34
    }
35
36
    /**
37
     * Adds multiple statements.
38
     *
39
     * @param array $stmts The statements to add
40
     *
41
     * @return $this The builder instance (for fluid interface)
42
     */
43
    public function addStmts(array $stmts) {
44
        foreach ($stmts as $stmt) {
45
            $this->addStmt($stmt);
46
        }
47
48
        return $this;
49
    }
50
51
    /**
52
     * Returns the built node.
53
     *
54
     * @return Node The built node
55
     */
56
    public function getNode() {
57
        return new Stmt\Namespace_($this->name, $this->stmts);
58
    }
59
}
60