diff options
author | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2018-01-04 13:16:05 +0100 |
---|---|---|
committer | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2018-01-04 13:16:05 +0100 |
commit | 7f0e4a5357c551fd2a1359daeaff54de11e3892d (patch) | |
tree | 0609d7d7234c657d36da8745874d9dde4d17a488 /lib/composer | |
parent | e489a1a7c8b2d8c4e0c6b2fc9f0d15d328a44ec1 (diff) | |
download | nextcloud-server-7f0e4a5357c551fd2a1359daeaff54de11e3892d.tar.gz nextcloud-server-7f0e4a5357c551fd2a1359daeaff54de11e3892d.zip |
update autoloader
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Diffstat (limited to 'lib/composer')
-rw-r--r-- | lib/composer/composer/ClassLoader.php | 18 | ||||
-rw-r--r-- | lib/composer/composer/autoload_static.php | 12 |
2 files changed, 11 insertions, 19 deletions
diff --git a/lib/composer/composer/ClassLoader.php b/lib/composer/composer/ClassLoader.php index 2c72175e772..bebe83706f8 100644 --- a/lib/composer/composer/ClassLoader.php +++ b/lib/composer/composer/ClassLoader.php @@ -43,7 +43,7 @@ namespace Composer\Autoload; class ClassLoader { // PSR-4 - private $prefixLengthsPsr4 = array(); + private $firstCharsPsr4 = array(); private $prefixDirsPsr4 = array(); private $fallbackDirsPsr4 = array(); @@ -170,11 +170,10 @@ class ClassLoader } } elseif (!isset($this->prefixDirsPsr4[$prefix])) { // Register directories for a new namespace. - $length = strlen($prefix); - if ('\\' !== $prefix[$length - 1]) { + if ('\\' !== substr($prefix, -1)) { throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); } - $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->firstCharsPsr4[$prefix[0]] = true; $this->prefixDirsPsr4[$prefix] = (array) $paths; } elseif ($prepend) { // Prepend directories for an already registered namespace. @@ -221,11 +220,10 @@ class ClassLoader if (!$prefix) { $this->fallbackDirsPsr4 = (array) $paths; } else { - $length = strlen($prefix); - if ('\\' !== $prefix[$length - 1]) { + if ('\\' !== substr($prefix, -1)) { throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); } - $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; + $this->firstCharsPsr4[$prefix[0]] = true; $this->prefixDirsPsr4[$prefix] = (array) $paths; } } @@ -373,15 +371,15 @@ class ClassLoader $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; $first = $class[0]; - if (isset($this->prefixLengthsPsr4[$first])) { + if (isset($this->firstCharsPsr4[$first])) { $subPath = $class; while (false !== $lastPos = strrpos($subPath, '\\')) { $subPath = substr($subPath, 0, $lastPos); $search = $subPath.'\\'; if (isset($this->prefixDirsPsr4[$search])) { + $pathEnd = substr($logicalPathPsr4, $lastPos + 1); foreach ($this->prefixDirsPsr4[$search] as $dir) { - $length = $this->prefixLengthsPsr4[$first][$search]; - if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) { + if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $pathEnd)) { return $file; } } diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php index aa5990466fc..f3d0aa0f082 100644 --- a/lib/composer/composer/autoload_static.php +++ b/lib/composer/composer/autoload_static.php @@ -6,14 +6,8 @@ namespace Composer\Autoload; class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c { - public static $prefixLengthsPsr4 = array ( - 'O' => - array ( - 'OC\\Settings\\' => 12, - 'OC\\Core\\' => 8, - 'OC\\' => 3, - 'OCP\\' => 4, - ), + public static $firstCharsPsr4 = array ( + 'O' => true, ); public static $prefixDirsPsr4 = array ( @@ -914,7 +908,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c public static function getInitializer(ClassLoader $loader) { return \Closure::bind(function () use ($loader) { - $loader->prefixLengthsPsr4 = ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c::$prefixLengthsPsr4; + $loader->firstCharsPsr4 = ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c::$firstCharsPsr4; $loader->prefixDirsPsr4 = ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c::$prefixDirsPsr4; $loader->classMap = ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c::$classMap; |