Browse Source

Merge branch '1.6'

Jordi Boggiano 7 years ago
parent
commit
8ff3a8bcc0

+ 1 - 1
composer.json

@@ -26,7 +26,7 @@
         "justinrainbow/json-schema": "^3.0 || ^4.0 || ^5.0",
         "composer/ca-bundle": "^1.0",
         "composer/semver": "^1.0",
-        "composer/spdx-licenses": "^1.0",
+        "composer/spdx-licenses": "^1.2",
         "seld/jsonlint": "^1.4",
         "symfony/console": "^2.7 || ^3.0 || ^4.0",
         "symfony/finder": "^2.7 || ^3.0 || ^4.0",

+ 7 - 7
composer.lock

@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
         "This file is @generated automatically"
     ],
-    "content-hash": "d3c8dbadf8d41e2c7933e274b2fe1327",
+    "content-hash": "8c8fe8c8c57c958b318515f636a6839e",
     "packages": [
         {
             "name": "composer/ca-bundle",
@@ -348,23 +348,23 @@
         },
         {
             "name": "seld/jsonlint",
-            "version": "1.6.2",
+            "version": "1.7.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/Seldaek/jsonlint.git",
-                "reference": "7a30649c67ee0d19faacfd9fa2cfb6cc032d9b19"
+                "reference": "9b355654ea99460397b89c132b5c1087b6bf4473"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/7a30649c67ee0d19faacfd9fa2cfb6cc032d9b19",
-                "reference": "7a30649c67ee0d19faacfd9fa2cfb6cc032d9b19",
+                "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/9b355654ea99460397b89c132b5c1087b6bf4473",
+                "reference": "9b355654ea99460397b89c132b5c1087b6bf4473",
                 "shasum": ""
             },
             "require": {
                 "php": "^5.3 || ^7.0"
             },
             "require-dev": {
-                "phpunit/phpunit": "^4.5"
+                "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
             },
             "bin": [
                 "bin/jsonlint"
@@ -393,7 +393,7 @@
                 "parser",
                 "validator"
             ],
-            "time": "2017-11-30T15:34:22+00:00"
+            "time": "2018-01-03T12:13:57+00:00"
         },
         {
             "name": "seld/phar-utils",

+ 1 - 4
src/Composer/Autoload/AutoloadGenerator.php

@@ -785,10 +785,7 @@ HEADER;
 
         // BC handling when converting to a new ClassLoader
         if (isset($maps['prefixLengthsPsr4'])) {
-            $maps['firstCharsPsr4'] = array_map(function () {
-                return true;
-            }, $maps['prefixLengthsPsr4']);
-            unset($maps['prefixLengthsPsr4']);
+            $maps['firstCharsPsr4'] = array_map('is_array', $maps['prefixLengthsPsr4']);
         }
 
         foreach ($maps as $prop => $value) {

+ 4 - 3
src/Composer/Autoload/ClassLoader.php

@@ -44,6 +44,7 @@ class ClassLoader
 {
     // PSR-4
     private $firstCharsPsr4 = array();
+    private $prefixLengthsPsr4 = array(); // For BC with legacy static maps
     private $prefixDirsPsr4 = array();
     private $fallbackDirsPsr4 = array();
 
@@ -371,15 +372,15 @@ class ClassLoader
         $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
 
         $first = $class[0];
-        if (isset($this->firstCharsPsr4[$first])) {
+        if (isset($this->firstCharsPsr4[$first]) || isset($this->prefixLengthsPsr4[$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);
+                    $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
                     foreach ($this->prefixDirsPsr4[$search] as $dir) {
-                        if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $pathEnd)) {
+                        if (file_exists($file = $dir . $pathEnd)) {
                             return $file;
                         }
                     }