diff options
author | Mario Vavti <mario@mariovavti.com> | 2018-03-01 13:46:39 +0100 |
---|---|---|
committer | Mario Vavti <mario@mariovavti.com> | 2018-03-01 13:46:39 +0100 |
commit | d32f583fda07080f0c331618893d5df91050af1d (patch) | |
tree | cec59d43b77b7b84d72fac6a4e8c5f20708b1845 /vendor/composer/ClassLoader.php | |
parent | bab00731a8c156c5d88bc1fc8a5bf4803d8c2cae (diff) | |
parent | 8cd539e12585d90e0f9bf9b693d64ff9d3e17dd3 (diff) | |
download | volse-hubzilla-d32f583fda07080f0c331618893d5df91050af1d.tar.gz volse-hubzilla-d32f583fda07080f0c331618893d5df91050af1d.tar.bz2 volse-hubzilla-d32f583fda07080f0c331618893d5df91050af1d.zip |
Merge branch 'dev' of https://github.com/redmatrix/hubzilla into dev
Diffstat (limited to 'vendor/composer/ClassLoader.php')
-rw-r--r-- | vendor/composer/ClassLoader.php | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php index c6f6d2322..dc02dfb11 100644 --- a/vendor/composer/ClassLoader.php +++ b/vendor/composer/ClassLoader.php @@ -43,8 +43,7 @@ namespace Composer\Autoload; class ClassLoader { // PSR-4 - private $firstCharsPsr4 = array(); - private $prefixLengthsPsr4 = array(); // For BC with legacy static maps + private $prefixLengthsPsr4 = array(); private $prefixDirsPsr4 = array(); private $fallbackDirsPsr4 = array(); @@ -171,10 +170,11 @@ class ClassLoader } } elseif (!isset($this->prefixDirsPsr4[$prefix])) { // Register directories for a new namespace. - if ('\\' !== substr($prefix, -1)) { + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); } - $this->firstCharsPsr4[$prefix[0]] = true; + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; $this->prefixDirsPsr4[$prefix] = (array) $paths; } elseif ($prepend) { // Prepend directories for an already registered namespace. @@ -221,10 +221,11 @@ class ClassLoader if (!$prefix) { $this->fallbackDirsPsr4 = (array) $paths; } else { - if ('\\' !== substr($prefix, -1)) { + $length = strlen($prefix); + if ('\\' !== $prefix[$length - 1]) { throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); } - $this->firstCharsPsr4[$prefix[0]] = true; + $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; $this->prefixDirsPsr4[$prefix] = (array) $paths; } } @@ -372,7 +373,7 @@ class ClassLoader $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; $first = $class[0]; - if (isset($this->firstCharsPsr4[$first]) || isset($this->prefixLengthsPsr4[$first])) { + if (isset($this->prefixLengthsPsr4[$first])) { $subPath = $class; while (false !== $lastPos = strrpos($subPath, '\\')) { $subPath = substr($subPath, 0, $lastPos); |