5e566fc1c641d9a7022a12fea2872a2b317cc9bf
[yaffs-website] / vendor / nikic / php-parser / lib / PhpParser / Node / Stmt / ClassConst.php
1 <?php
2
3 namespace PhpParser\Node\Stmt;
4
5 use PhpParser\Node;
6
7 class ClassConst extends Node\Stmt
8 {
9     /** @var int Modifiers */
10     public $flags;
11     /** @var Node\Const_[] Constant declarations */
12     public $consts;
13
14     /**
15      * Constructs a class const list node.
16      *
17      * @param Node\Const_[] $consts     Constant declarations
18      * @param int           $flags      Modifiers
19      * @param array         $attributes Additional attributes
20      */
21     public function __construct(array $consts, $flags = 0, array $attributes = array()) {
22         parent::__construct($attributes);
23         $this->flags = $flags;
24         $this->consts = $consts;
25     }
26
27     public function getSubNodeNames() {
28         return array('flags', 'consts');
29     }
30
31     public function isPublic() {
32         return ($this->flags & Class_::MODIFIER_PUBLIC) !== 0
33             || ($this->flags & Class_::VISIBILITY_MODIFER_MASK) === 0;
34     }
35
36     public function isProtected() {
37         return (bool) ($this->flags & Class_::MODIFIER_PROTECTED);
38     }
39
40     public function isPrivate() {
41         return (bool) ($this->flags & Class_::MODIFIER_PRIVATE);
42     }
43
44     public function isStatic() {
45         return (bool) ($this->flags & Class_::MODIFIER_STATIC);
46     }
47 }