Mercurial > hg > cmmr2012-drupal-site
diff vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php @ 0:c75dbcec494b
Initial commit from drush-created site
author | Chris Cannam |
---|---|
date | Thu, 05 Jul 2018 14:24:15 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php Thu Jul 05 14:24:15 2018 +0000 @@ -0,0 +1,48 @@ +<?php declare(strict_types=1); + +namespace PhpParser\Node\Stmt; + +use PhpParser\Node; + +/** + * @property Node\Name $namespacedName Namespaced name (if using NameResolver) + */ +abstract class ClassLike extends Node\Stmt +{ + /** @var Node\Identifier|null Name */ + public $name; + /** @var Node\Stmt[] Statements */ + public $stmts; + + /** + * 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; + } +}