X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=vendor%2Fpsy%2Fpsysh%2Fsrc%2FUtil%2FMirror.php;fp=vendor%2Fpsy%2Fpsysh%2Fsrc%2FUtil%2FMirror.php;h=09c0b5b9aff7241cb3ebd91bafa81d87e3c8c6aa;hp=97eb68057a23a6cf33d193eff98a08f7fb40b4e4;hb=0bf8d09d2542548982e81a441b1f16e75873a04f;hpb=74df008bdbb3a11eeea356744f39b802369bda3c diff --git a/vendor/psy/psysh/src/Util/Mirror.php b/vendor/psy/psysh/src/Util/Mirror.php index 97eb68057..09c0b5b9a 100644 --- a/vendor/psy/psysh/src/Util/Mirror.php +++ b/vendor/psy/psysh/src/Util/Mirror.php @@ -12,7 +12,8 @@ namespace Psy\Util; use Psy\Exception\RuntimeException; -use Psy\Reflection\ReflectionConstant; +use Psy\Reflection\ReflectionClassConstant; +use Psy\Reflection\ReflectionConstant_; /** * A utility class for getting Reflectors. @@ -43,8 +44,12 @@ class Mirror */ public static function get($value, $member = null, $filter = 15) { - if ($member === null && is_string($value) && function_exists($value)) { - return new \ReflectionFunction($value); + if ($member === null && \is_string($value)) { + if (\function_exists($value)) { + return new \ReflectionFunction($value); + } elseif (\defined($value) || ReflectionConstant_::isMagicConstant($value)) { + return new ReflectionConstant_($value); + } } $class = self::getClass($value); @@ -52,7 +57,7 @@ class Mirror if ($member === null) { return $class; } elseif ($filter & self::CONSTANT && $class->hasConstant($member)) { - return new ReflectionConstant($class, $member); + return ReflectionClassConstant::create($value, $member); } elseif ($filter & self::METHOD && $class->hasMethod($member)) { return $class->getMethod($member); } elseif ($filter & self::PROPERTY && $class->hasProperty($member)) { @@ -60,10 +65,10 @@ class Mirror } elseif ($filter & self::STATIC_PROPERTY && $class->hasProperty($member) && $class->getProperty($member)->isStatic()) { return $class->getProperty($member); } else { - throw new RuntimeException(sprintf( + throw new RuntimeException(\sprintf( 'Unknown member %s on class %s', $member, - is_object($value) ? get_class($value) : $value + \is_object($value) ? \get_class($value) : $value )); } } @@ -79,13 +84,13 @@ class Mirror */ private static function getClass($value) { - if (is_object($value)) { + if (\is_object($value)) { return new \ReflectionObject($value); } - if (!is_string($value)) { + if (!\is_string($value)) { throw new \InvalidArgumentException('Mirror expects an object or class'); - } elseif (!class_exists($value) && !interface_exists($value) && !(function_exists('trait_exists') && trait_exists($value))) { + } elseif (!\class_exists($value) && !\interface_exists($value) && !\trait_exists($value)) { throw new \InvalidArgumentException('Unknown class or function: ' . $value); }