Mercurial > hg > isophonics-drupal-site
diff vendor/psy/psysh/src/Reflection/ReflectionConstant.php @ 16:c2387f117808
Routine composer update
author | Chris Cannam |
---|---|
date | Tue, 10 Jul 2018 15:07:59 +0100 |
parents | 5fb285c0d0e3 |
children | 129ea1e6d783 |
line wrap: on
line diff
--- a/vendor/psy/psysh/src/Reflection/ReflectionConstant.php Thu Apr 26 11:26:54 2018 +0100 +++ b/vendor/psy/psysh/src/Reflection/ReflectionConstant.php Tue Jul 10 15:07:59 2018 +0100 @@ -12,140 +12,19 @@ namespace Psy\Reflection; /** - * Somehow the standard reflection library doesn't include constants. - * - * ReflectionConstant corrects that omission. + * @deprecated ReflectionConstant is now ReflectionClassConstant. This class + * name will be reclaimed in the next stable release, to be used for + * ReflectionConstant_ :) */ -class ReflectionConstant implements \Reflector +class ReflectionConstant extends ReflectionClassConstant { - private $class; - private $name; - private $value; - /** - * Construct a ReflectionConstant object. - * - * @param mixed $class - * @param string $name + * {inheritDoc}. */ public function __construct($class, $name) { - if (!$class instanceof \ReflectionClass) { - $class = new \ReflectionClass($class); - } + @trigger_error('ReflectionConstant is now ReflectionClassConstant', E_USER_DEPRECATED); - $this->class = $class; - $this->name = $name; - - $constants = $class->getConstants(); - if (!array_key_exists($name, $constants)) { - throw new \InvalidArgumentException('Unknown constant: ' . $name); - } - - $this->value = $constants[$name]; - } - - /** - * Gets the declaring class. - * - * @return string - */ - public function getDeclaringClass() - { - $parent = $this->class; - - // Since we don't have real reflection constants, we can't see where - // it's actually defined. Let's check for a constant that is also - // available on the parent class which has exactly the same value. - // - // While this isn't _technically_ correct, it's prolly close enough. - do { - $class = $parent; - $parent = $class->getParentClass(); - } while ($parent && $parent->hasConstant($this->name) && $parent->getConstant($this->name) === $this->value); - - return $class; - } - - /** - * Gets the constant name. - * - * @return string - */ - public function getName() - { - return $this->name; - } - - /** - * Gets the value of the constant. - * - * @return mixed - */ - public function getValue() - { - return $this->value; - } - - /** - * Gets the constant's file name. - * - * Currently returns null, because if it returns a file name the signature - * formatter will barf. - */ - public function getFileName() - { - return; - // return $this->class->getFileName(); - } - - /** - * Get the code start line. - * - * @throws \RuntimeException - */ - public function getStartLine() - { - throw new \RuntimeException('Not yet implemented because it\'s unclear what I should do here :)'); - } - - /** - * Get the code end line. - * - * @throws \RuntimeException - */ - public function getEndLine() - { - return $this->getStartLine(); - } - - /** - * Get the constant's docblock. - * - * @return false - */ - public function getDocComment() - { - return false; - } - - /** - * Export the constant? I don't think this is possible. - * - * @throws \RuntimeException - */ - public static function export() - { - throw new \RuntimeException('Not yet implemented because it\'s unclear what I should do here :)'); - } - - /** - * To string. - * - * @return string - */ - public function __toString() - { - return $this->getName(); + parent::__construct($class, $name); } }