2121 * See also https://getcomposer.org/doc/07-runtime.md#installed-versions
2222 *
2323 * To require its presence, you can require `composer-runtime-api ^2.0`
24+ *
25+ * @final
2426 */
2527class InstalledVersions
2628{
2729 /**
2830 * @var mixed[]|null
29- * @psalm-var array{root: array{name: string, version : string, reference : string, pretty_version : string, aliases : string[], dev: bool, install_path : string, type: string }, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases ?: string[], reference ?: string, replaced ?: string[], provided ?: string[], install_path ?: string, type ?: string}>}|array{}|null
31+ * @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
3032 */
3133 private static $ installed ;
3234
@@ -37,7 +39,7 @@ class InstalledVersions
3739
3840 /**
3941 * @var array[]
40- * @psalm-var array<string, array{root: array{name: string, version : string, reference : string, pretty_version : string, aliases : string[], dev: bool, install_path : string, type: string }, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases ?: string[], reference ?: string, replaced ?: string[], provided ?: string[], install_path ?: string, type ?: string}>}>
42+ * @psalm-var array<string, 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[] }>}>
4143 */
4244 private static $ installedByVendor = array ();
4345
@@ -241,7 +243,7 @@ public static function getInstallPath($packageName)
241243
242244 /**
243245 * @return array
244- * @psalm-return array{name: string, version : string, reference : string, pretty_version : string, aliases : string[], dev: bool, install_path : string, type: string }
246+ * @psalm-return array{name: string, pretty_version : string, version : string, reference : string|null, type : string, install_path: string, aliases : string[], dev: bool }
245247 */
246248 public static function getRootPackage ()
247249 {
@@ -255,7 +257,7 @@ public static function getRootPackage()
255257 *
256258 * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
257259 * @return array[]
258- * @psalm-return array{root: array{name: string, version : string, reference : string, pretty_version : string, aliases : string[], dev: bool, install_path : string, type: string }, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases ?: string[], reference ?: string, replaced ?: string[], provided ?: string[], install_path ?: string, type ?: string}>}
260+ * @psalm-return 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[] }>}
259261 */
260262 public static function getRawData ()
261263 {
@@ -278,7 +280,7 @@ public static function getRawData()
278280 * Returns the raw data of all installed.php which are currently loaded for custom implementations
279281 *
280282 * @return array[]
281- * @psalm-return list<array{root: array{name: string, version : string, reference : string, pretty_version : string, aliases : string[], dev: bool, install_path : string, type: string }, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases ?: string[], reference ?: string, replaced ?: string[], provided ?: string[], install_path ?: string, type ?: string}>}>
283+ * @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[] }>}>
282284 */
283285 public static function getAllRawData ()
284286 {
@@ -301,7 +303,7 @@ public static function getAllRawData()
301303 * @param array[] $data A vendor/composer/installed.php data set
302304 * @return void
303305 *
304- * @psalm-param array{root: array{name: string, version : string, reference : string, pretty_version : string, aliases : string[], dev: bool, install_path : string, type: string }, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases ?: string[], reference ?: string, replaced ?: string[], provided ?: string[], install_path ?: string, type ?: string}>} $data
306+ * @psalm-param 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[] }>} $data
305307 */
306308 public static function reload ($ data )
307309 {
@@ -311,7 +313,7 @@ public static function reload($data)
311313
312314 /**
313315 * @return array[]
314- * @psalm-return list<array{root: array{name: string, version : string, reference : string, pretty_version : string, aliases : string[], dev: bool, install_path : string, type: string }, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases ?: string[], reference ?: string, replaced ?: string[], provided ?: string[], install_path ?: string, type ?: string}>}>
316+ * @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[] }>}>
315317 */
316318 private static function getInstalled ()
317319 {
0 commit comments