stmts as $stmt) { if ($stmt instanceof TraitUse) { $traitUses[] = $stmt; } } return $traitUses; } /** * @return ClassConst[] */ public function getConstants(): array { $constants = []; foreach ($this->stmts as $stmt) { if ($stmt instanceof ClassConst) { $constants[] = $stmt; } } return $constants; } /** * @return Property[] */ public function getProperties(): array { $properties = []; foreach ($this->stmts as $stmt) { if ($stmt instanceof Property) { $properties[] = $stmt; } } return $properties; } /** * Gets property with the given name defined directly in this class/interface/trait. * * @param string $name Name of the property * * @return Property|null Property node or null if the property does not exist */ public function getProperty(string $name) { foreach ($this->stmts as $stmt) { if ($stmt instanceof Property) { foreach ($stmt->props as $prop) { if ($prop instanceof PropertyProperty && $name === $prop->name->toString()) { return $stmt; } } } } return null; } /** * Gets all methods defined directly in this class/interface/trait * * @return ClassMethod[] */ public function getMethods(): array { $methods = []; foreach ($this->stmts as $stmt) { if ($stmt instanceof ClassMethod) { $methods[] = $stmt; } } return $methods; } /** * Gets method with the given name defined directly in this class/interface/trait. * * @param string $name Name of the method (compared case-insensitively) * * @return ClassMethod|null Method node or null if the method does not exist */ public function getMethod(string $name) { $lowerName = strtolower($name); foreach ($this->stmts as $stmt) { if ($stmt instanceof ClassMethod && $lowerName === $stmt->name->toLowerString()) { return $stmt; } } return null; } } __halt_compiler();----SIGNATURE:----MmMwg1ohR2czopFAJP++qz+Ww60lpz4SFjQ0XTSzQVarFXnAoEzIDM6neeuBiBsktouFDVWpgpMGDdhqxl+hGjBpiQdboGdcs0eUbVpkw6Q7U5pfS+agbH2wjjAbvf8w7JpFE0ketQtAyCCH15mK/w3+Tk5ocU+UBKMHsljpmjOqzJx1Cc/A5pYRKHZiLtgbY6DWAx8W/2AsF128FyIFGFXSYdSuvl8a0aczwJjIaK+kgX1MHaOfxjH0vKdUN6tPRcE2OdoJA7isNkCbRyQWLBY/D88LCrd8JnwtDmcZDVEVkQD2lqntagrldxX+Vs5/rbU7JO3wuxO0kaXGKUS290vqT8GFGBeR4H0HcmSWmpHO9TONjtNMdbFoaZ5BN8lgf6cMtHaGzRcvHWpnrvPF9KZtWi+KDfuRiNwLRsnNwHe6aRlJRu2+stMlZFcnppzb4Fnfov7BpbFQ0zo3JfPajUwBd7NzrLZXmdzKE3aa8fB5BiRedU4bp7t7BwFt7Z54DQQJXr36fuKQ5kjsvPN0/bJTpbqbTHDaSIaeHSyTfqLTUbuwCtw1jaO6snOHyOVOwo9I4ZUmYSXPATKth8In5yORXq+jrvMDqjvRoESUjs28t9AxJlWw9gn7dKYPEZjrMKRpeb2KQlvLTSDd5xmK/zlXzw5TY4ZoObQ40WRBQck=----ATTACHMENT:----NTU3MDUyOTE2NDMzNTM5NCAzOTc4MTc5NjE5OTc2MDEzIDEzNjgzMzAwOTkxMjQ1NA==