PluginProbe
WPIDE – File Manager & Code Editor / 3.5.9
WPIDE – File Manager & Code Editor v3.5.9
3.5.9 3.5.8 3.5.7 2.0.14 2.0.15 2.0.16 2.0.2 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1 2.2 2.3 2.3.1 2.3.2 2.4.0 2.5 2.6 3.0 3.1 3.2 3.3 All 55 releases
wpide / vendor / nikic / php-parser / lib / PhpParser / Node / Stmt / Property.php

Property.php in WPIDE – File Manager & Code Editor 3.5.9, at vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Property.php

92 lines 2.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php declare(strict_types=1);
2
3 namespace PhpParser\Node\Stmt;
4
5 use PhpParser\Node;
6 use PhpParser\Node\ComplexType;
7 use PhpParser\Node\Identifier;
8 use PhpParser\Node\Name;
9
10 class Property extends Node\Stmt
11 {
12 /** @var int Modifiers */
13 public $flags;
14 /** @var PropertyProperty[] Properties */
15 public $props;
16 /** @var null|Identifier|Name|ComplexType Type declaration */
17 public $type;
18 /** @var Node\AttributeGroup[] PHP attribute groups */
19 public $attrGroups;
20
21 /**
22 * Constructs a class property list node.
23 *
24 * @param int $flags Modifiers
25 * @param PropertyProperty[] $props Properties
26 * @param array $attributes Additional attributes
27 * @param null|string|Identifier|Name|ComplexType $type Type declaration
28 * @param Node\AttributeGroup[] $attrGroups PHP attribute groups
29 */
30 public function __construct(int $flags, array $props, array $attributes = [], $type = null, array $attrGroups = []) {
31 $this->attributes = $attributes;
32 $this->flags = $flags;
33 $this->props = $props;
34 $this->type = \is_string($type) ? new Identifier($type) : $type;
35 $this->attrGroups = $attrGroups;
36 }
37
38 public function getSubNodeNames() : array {
39 return ['attrGroups', 'flags', 'type', 'props'];
40 }
41
42 /**
43 * Whether the property is explicitly or implicitly public.
44 *
45 * @return bool
46 */
47 public function isPublic() : bool {
48 return ($this->flags & Class_::MODIFIER_PUBLIC) !== 0
49 || ($this->flags & Class_::VISIBILITY_MODIFIER_MASK) === 0;
50 }
51
52 /**
53 * Whether the property is protected.
54 *
55 * @return bool
56 */
57 public function isProtected() : bool {
58 return (bool) ($this->flags & Class_::MODIFIER_PROTECTED);
59 }
60
61 /**
62 * Whether the property is private.
63 *
64 * @return bool
65 */
66 public function isPrivate() : bool {
67 return (bool) ($this->flags & Class_::MODIFIER_PRIVATE);
68 }
69
70 /**
71 * Whether the property is static.
72 *
73 * @return bool
74 */
75 public function isStatic() : bool {
76 return (bool) ($this->flags & Class_::MODIFIER_STATIC);
77 }
78
79 /**
80 * Whether the property is readonly.
81 *
82 * @return bool
83 */
84 public function isReadonly() : bool {
85 return (bool) ($this->flags & Class_::MODIFIER_READONLY);
86 }
87
88 public function getType() : string {
89 return 'Stmt_Property';
90 }
91 }
92