Patched to Drupal 8.4.8 level. See https://www.drupal.org/sa-core-2018-004 and patch...
[yaffs-website] / vendor / nikic / php-parser / lib / PhpParser / Builder / Function_.php
1 <?php
2
3 namespace PhpParser\Builder;
4
5 use PhpParser;
6 use PhpParser\Node;
7 use PhpParser\Node\Stmt;
8
9 class Function_ extends FunctionLike
10 {
11     protected $name;
12     protected $stmts = array();
13
14     /**
15      * Creates a function builder.
16      *
17      * @param string $name Name of the function
18      */
19     public function __construct($name) {
20         $this->name = $name;
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      * Returns the built function node.
38      *
39      * @return Stmt\Function_ The built function node
40      */
41     public function getNode() {
42         return new Stmt\Function_($this->name, array(
43             'byRef'      => $this->returnByRef,
44             'params'     => $this->params,
45             'returnType' => $this->returnType,
46             'stmts'      => $this->stmts,
47         ), $this->attributes);
48     }
49 }