PluginProbe
Image Optimizer – Compress Images and Convert to WebP or AVIF / trunk
Image Optimizer – Compress Images and Convert to WebP or AVIF vtrunk
1.7.7 1.7.6 1.7.5 1.7.4 trunk 1.0.0 1.0.1 1.0.2 1.1.0 1.2.0 1.2.1 1.3.0 1.4.0 1.4.1 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 All 33 releases
← All changes | vendor/composer/InstalledVersions.php +19 -1 1.6.5 → trunk View file →
@@ -26,8 +26,14 @@
26 26 */
27 27 class InstalledVersions
28 28 {
29 29 /**
30 + * @var string|null if set (by reflection by Composer), this should be set to the path where this class is being copied to
31 + * @internal
32 + */
33 + private static $selfDir = null;
34 +
35 + /**
30 36 * @var mixed[]|null
31 37 * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}|array{}|null
32 38 */
33 39 private static $installed;
@@ -322,8 +328,20 @@
322 328 self::$installedIsLocalDir = false;
323 329 }
324 330
325 331 /**
332 + * @return string
333 + */
334 + private static function getSelfDir()
335 + {
336 + if (self::$selfDir === null) {
337 + self::$selfDir = strtr(__DIR__, '\\', '/');
338 + }
339 +
340 + return self::$selfDir;
341 + }
342 +
343 + /**
326 344 * @return array[]
327 345 * @psalm-return list<array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>}>
328 346 */
329 347 private static function getInstalled()
@@ -335,9 +353,9 @@
335 353 $installed = array();
336 354 $copiedLocalDir = false;
337 355
338 356 if (self::$canGetVendors) {
339 - $selfDir = strtr(__DIR__, '\\', '/');
357 + $selfDir = self::getSelfDir();
340 358 foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
341 359 $vendorDir = strtr($vendorDir, '\\', '/');
342 360 if (isset(self::$installedByVendor[$vendorDir])) {
343 361 $installed[] = self::$installedByVendor[$vendorDir];