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 / ClassLike.php

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

110 lines 2.9 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
7 abstract class ClassLike extends Node\Stmt
8 {
9 /** @var Node\Identifier|null Name */
10 public $name;
11 /** @var Node\Stmt[] Statements */
12 public $stmts;
13 /** @var Node\AttributeGroup[] PHP attribute groups */
14 public $attrGroups;
15
16 /** @var Node\Name|null Namespaced name (if using NameResolver) */
17 public $namespacedName;
18
19 /**
20 * @return TraitUse[]
21 */
22 public function getTraitUses() : array {
23 $traitUses = [];
24 foreach ($this->stmts as $stmt) {
25 if ($stmt instanceof TraitUse) {
26 $traitUses[] = $stmt;
27 }
28 }
29 return $traitUses;
30 }
31
32 /**
33 * @return ClassConst[]
34 */
35 public function getConstants() : array {
36 $constants = [];
37 foreach ($this->stmts as $stmt) {
38 if ($stmt instanceof ClassConst) {
39 $constants[] = $stmt;
40 }
41 }
42 return $constants;
43 }
44
45 /**
46 * @return Property[]
47 */
48 public function getProperties() : array {
49 $properties = [];
50 foreach ($this->stmts as $stmt) {
51 if ($stmt instanceof Property) {
52 $properties[] = $stmt;
53 }
54 }
55 return $properties;
56 }
57
58 /**
59 * Gets property with the given name defined directly in this class/interface/trait.
60 *
61 * @param string $name Name of the property
62 *
63 * @return Property|null Property node or null if the property does not exist
64 */
65 public function getProperty(string $name) {
66 foreach ($this->stmts as $stmt) {
67 if ($stmt instanceof Property) {
68 foreach ($stmt->props as $prop) {
69 if ($prop instanceof PropertyProperty && $name === $prop->name->toString()) {
70 return $stmt;
71 }
72 }
73 }
74 }
75 return null;
76 }
77
78 /**
79 * Gets all methods defined directly in this class/interface/trait
80 *
81 * @return ClassMethod[]
82 */
83 public function getMethods() : array {
84 $methods = [];
85 foreach ($this->stmts as $stmt) {
86 if ($stmt instanceof ClassMethod) {
87 $methods[] = $stmt;
88 }
89 }
90 return $methods;
91 }
92
93 /**
94 * Gets method with the given name defined directly in this class/interface/trait.
95 *
96 * @param string $name Name of the method (compared case-insensitively)
97 *
98 * @return ClassMethod|null Method node or null if the method does not exist
99 */
100 public function getMethod(string $name) {
101 $lowerName = strtolower($name);
102 foreach ($this->stmts as $stmt) {
103 if ($stmt instanceof ClassMethod && $lowerName === $stmt->name->toLowerString()) {
104 return $stmt;
105 }
106 }
107 return null;
108 }
109 }
110