1
0
Fork 0

Merge branch '1.6'

pull/6974/merge
Jordi Boggiano 2018-01-04 14:28:12 +01:00
commit 8ff3a8bcc0
4 changed files with 13 additions and 15 deletions

View File

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

14
composer.lock generated
View File

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

View File

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

View File

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