432fcc7f124cc84219bd26d584c68b9ba0ba5cd5
[yaffs-website] / vendor / nikic / php-parser / lib / PhpParser / Builder / Namespace_.php
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 }