Skip to content

Commit 443a1bd

Browse files
authored
Merge pull request #156 from wp-graphql/release/v0.5.1
Release/v0.5.1
2 parents b98b94e + 6f90354 commit 443a1bd

11 files changed

+507
-14104
lines changed

vendor/composer/ClassLoader.php

Lines changed: 109 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -42,30 +42,75 @@
4242
*/
4343
class ClassLoader
4444
{
45+
/** @var ?string */
4546
private $vendorDir;
4647

4748
// PSR-4
49+
/**
50+
* @var array[]
51+
* @psalm-var array<string, array<string, int>>
52+
*/
4853
private $prefixLengthsPsr4 = array();
54+
/**
55+
* @var array[]
56+
* @psalm-var array<string, array<int, string>>
57+
*/
4958
private $prefixDirsPsr4 = array();
59+
/**
60+
* @var array[]
61+
* @psalm-var array<string, string>
62+
*/
5063
private $fallbackDirsPsr4 = array();
5164

5265
// PSR-0
66+
/**
67+
* @var array[]
68+
* @psalm-var array<string, array<string, string[]>>
69+
*/
5370
private $prefixesPsr0 = array();
71+
/**
72+
* @var array[]
73+
* @psalm-var array<string, string>
74+
*/
5475
private $fallbackDirsPsr0 = array();
5576

77+
/** @var bool */
5678
private $useIncludePath = false;
79+
80+
/**
81+
* @var string[]
82+
* @psalm-var array<string, string>
83+
*/
5784
private $classMap = array();
85+
86+
/** @var bool */
5887
private $classMapAuthoritative = false;
88+
89+
/**
90+
* @var bool[]
91+
* @psalm-var array<string, bool>
92+
*/
5993
private $missingClasses = array();
94+
95+
/** @var ?string */
6096
private $apcuPrefix;
6197

98+
/**
99+
* @var self[]
100+
*/
62101
private static $registeredLoaders = array();
63102

103+
/**
104+
* @param ?string $vendorDir
105+
*/
64106
public function __construct($vendorDir = null)
65107
{
66108
$this->vendorDir = $vendorDir;
67109
}
68110

111+
/**
112+
* @return string[]
113+
*/
69114
public function getPrefixes()
70115
{
71116
if (!empty($this->prefixesPsr0)) {
@@ -75,28 +120,47 @@ public function getPrefixes()
75120
return array();
76121
}
77122

123+
/**
124+
* @return array[]
125+
* @psalm-return array<string, array<int, string>>
126+
*/
78127
public function getPrefixesPsr4()
79128
{
80129
return $this->prefixDirsPsr4;
81130
}
82131

132+
/**
133+
* @return array[]
134+
* @psalm-return array<string, string>
135+
*/
83136
public function getFallbackDirs()
84137
{
85138
return $this->fallbackDirsPsr0;
86139
}
87140

141+
/**
142+
* @return array[]
143+
* @psalm-return array<string, string>
144+
*/
88145
public function getFallbackDirsPsr4()
89146
{
90147
return $this->fallbackDirsPsr4;
91148
}
92149

150+
/**
151+
* @return string[] Array of classname => path
152+
* @psalm-return array<string, string>
153+
*/
93154
public function getClassMap()
94155
{
95156
return $this->classMap;
96157
}
97158

98159
/**
99-
* @param array $classMap Class to filename map
160+
* @param string[] $classMap Class to filename map
161+
* @psalm-param array<string, string> $classMap
162+
*
163+
* @return void
100164
*/
101165
public function addClassMap(array $classMap)
102166
{
@@ -111,9 +175,11 @@ public function addClassMap(array $classMap)
111175
* Registers a set of PSR-0 directories for a given prefix, either
112176
* appending or prepending to the ones previously set for this prefix.
113177
*
114-
* @param string $prefix The prefix
115-
* @param array|string $paths The PSR-0 root directories
116-
* @param bool $prepend Whether to prepend the directories
178+
* @param string $prefix The prefix
179+
* @param string[]|string $paths The PSR-0 root directories
180+
* @param bool $prepend Whether to prepend the directories
181+
*
182+
* @return void
117183
*/
118184
public function add($prefix, $paths, $prepend = false)
119185
{
@@ -156,11 +222,13 @@ public function add($prefix, $paths, $prepend = false)
156222
* Registers a set of PSR-4 directories for a given namespace, either
157223
* appending or prepending to the ones previously set for this namespace.
158224
*
159-
* @param string $prefix The prefix/namespace, with trailing '\\'
160-
* @param array|string $paths The PSR-4 base directories
161-
* @param bool $prepend Whether to prepend the directories
225+
* @param string $prefix The prefix/namespace, with trailing '\\'
226+
* @param string[]|string $paths The PSR-4 base directories
227+
* @param bool $prepend Whether to prepend the directories
162228
*
163229
* @throws \InvalidArgumentException
230+
*
231+
* @return void
164232
*/
165233
public function addPsr4($prefix, $paths, $prepend = false)
166234
{
@@ -204,8 +272,10 @@ public function addPsr4($prefix, $paths, $prepend = false)
204272
* Registers a set of PSR-0 directories for a given prefix,
205273
* replacing any others previously set for this prefix.
206274
*
207-
* @param string $prefix The prefix
208-
* @param array|string $paths The PSR-0 base directories
275+
* @param string $prefix The prefix
276+
* @param string[]|string $paths The PSR-0 base directories
277+
*
278+
* @return void
209279
*/
210280
public function set($prefix, $paths)
211281
{
@@ -220,10 +290,12 @@ public function set($prefix, $paths)
220290
* Registers a set of PSR-4 directories for a given namespace,
221291
* replacing any others previously set for this namespace.
222292
*
223-
* @param string $prefix The prefix/namespace, with trailing '\\'
224-
* @param array|string $paths The PSR-4 base directories
293+
* @param string $prefix The prefix/namespace, with trailing '\\'
294+
* @param string[]|string $paths The PSR-4 base directories
225295
*
226296
* @throws \InvalidArgumentException
297+
*
298+
* @return void
227299
*/
228300
public function setPsr4($prefix, $paths)
229301
{
@@ -243,6 +315,8 @@ public function setPsr4($prefix, $paths)
243315
* Turns on searching the include path for class files.
244316
*
245317
* @param bool $useIncludePath
318+
*
319+
* @return void
246320
*/
247321
public function setUseIncludePath($useIncludePath)
248322
{
@@ -265,6 +339,8 @@ public function getUseIncludePath()
265339
* that have not been registered with the class map.
266340
*
267341
* @param bool $classMapAuthoritative
342+
*
343+
* @return void
268344
*/
269345
public function setClassMapAuthoritative($classMapAuthoritative)
270346
{
@@ -285,6 +361,8 @@ public function isClassMapAuthoritative()
285361
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
286362
*
287363
* @param string|null $apcuPrefix
364+
*
365+
* @return void
288366
*/
289367
public function setApcuPrefix($apcuPrefix)
290368
{
@@ -305,14 +383,18 @@ public function getApcuPrefix()
305383
* Registers this instance as an autoloader.
306384
*
307385
* @param bool $prepend Whether to prepend the autoloader or not
386+
*
387+
* @return void
308388
*/
309389
public function register($prepend = false)
310390
{
311391
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
312392

313393
if (null === $this->vendorDir) {
314-
//no-op
315-
} elseif ($prepend) {
394+
return;
395+
}
396+
397+
if ($prepend) {
316398
self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders;
317399
} else {
318400
unset(self::$registeredLoaders[$this->vendorDir]);
@@ -322,6 +404,8 @@ public function register($prepend = false)
322404

323405
/**
324406
* Unregisters this instance as an autoloader.
407+
*
408+
* @return void
325409
*/
326410
public function unregister()
327411
{
@@ -336,7 +420,7 @@ public function unregister()
336420
* Loads the given class or interface.
337421
*
338422
* @param string $class The name of the class
339-
* @return bool|null True if loaded, null otherwise
423+
* @return true|null True if loaded, null otherwise
340424
*/
341425
public function loadClass($class)
342426
{
@@ -345,6 +429,8 @@ public function loadClass($class)
345429

346430
return true;
347431
}
432+
433+
return null;
348434
}
349435

350436
/**
@@ -399,6 +485,11 @@ public static function getRegisteredLoaders()
399485
return self::$registeredLoaders;
400486
}
401487

488+
/**
489+
* @param string $class
490+
* @param string $ext
491+
* @return string|false
492+
*/
402493
private function findFileWithExtension($class, $ext)
403494
{
404495
// PSR-4 lookup
@@ -470,6 +561,10 @@ private function findFileWithExtension($class, $ext)
470561
* Scope isolated include.
471562
*
472563
* Prevents access to $this/self from included files.
564+
*
565+
* @param string $file
566+
* @return void
567+
* @private
473568
*/
474569
function includeFile($file)
475570
{

0 commit comments

Comments
 (0)