Final type additions
parent
14fcfc3ae1
commit
89ce53250e
|
@ -1095,11 +1095,6 @@ parameters:
|
|||
count: 1
|
||||
path: ../src/Composer/Command/ShowCommand.php
|
||||
|
||||
-
|
||||
message: "#^Only booleans are allowed in &&, Composer\\\\Package\\\\PackageInterface\\|false\\|null given on the right side\\.$#"
|
||||
count: 1
|
||||
path: ../src/Composer/Command/ShowCommand.php
|
||||
|
||||
-
|
||||
message: "#^Only booleans are allowed in &&, Composer\\\\Package\\\\PackageInterface\\|null given on the left side\\.$#"
|
||||
count: 1
|
||||
|
@ -3530,11 +3525,6 @@ parameters:
|
|||
count: 1
|
||||
path: ../src/Composer/Package/Loader/ArrayLoader.php
|
||||
|
||||
-
|
||||
message: "#^Method Composer\\\\Package\\\\Loader\\\\ArrayLoader\\:\\:createObject\\(\\) should return Composer\\\\Package\\\\CompletePackage but returns PackageClass of Composer\\\\Package\\\\CompletePackageInterface\\.$#"
|
||||
count: 1
|
||||
path: ../src/Composer/Package/Loader/ArrayLoader.php
|
||||
|
||||
-
|
||||
message: "#^Only booleans are allowed in &&, string\\|false given on the left side\\.$#"
|
||||
count: 1
|
||||
|
@ -3616,12 +3606,12 @@ parameters:
|
|||
path: ../src/Composer/Package/Loader/RootPackageLoader.php
|
||||
|
||||
-
|
||||
message: "#^Parameter \\#2 \\$class \\(class\\-string\\<PackageClass of Composer\\\\Package\\\\RootPackage\\>\\) of method Composer\\\\Package\\\\Loader\\\\RootPackageLoader\\:\\:load\\(\\) should be contravariant with parameter \\$class \\(class\\-string\\<Composer\\\\Package\\\\CompletePackageInterface\\>\\) of method Composer\\\\Package\\\\Loader\\\\ArrayLoader\\:\\:load\\(\\)$#"
|
||||
message: "#^Parameter \\#2 \\$class \\(class\\-string\\<Composer\\\\Package\\\\RootPackage\\>\\) of method Composer\\\\Package\\\\Loader\\\\RootPackageLoader\\:\\:load\\(\\) should be contravariant with parameter \\$class \\(class\\-string\\<Composer\\\\Package\\\\CompletePackage\\>\\) of method Composer\\\\Package\\\\Loader\\\\ArrayLoader\\:\\:load\\(\\)$#"
|
||||
count: 1
|
||||
path: ../src/Composer/Package/Loader/RootPackageLoader.php
|
||||
|
||||
-
|
||||
message: "#^Parameter \\#2 \\$class \\(class\\-string\\<PackageClass of Composer\\\\Package\\\\RootPackage\\>\\) of method Composer\\\\Package\\\\Loader\\\\RootPackageLoader\\:\\:load\\(\\) should be contravariant with parameter \\$class \\(class\\-string\\<Composer\\\\Package\\\\CompletePackageInterface\\>\\) of method Composer\\\\Package\\\\Loader\\\\LoaderInterface\\:\\:load\\(\\)$#"
|
||||
message: "#^Parameter \\#2 \\$class \\(class\\-string\\<Composer\\\\Package\\\\RootPackage\\>\\) of method Composer\\\\Package\\\\Loader\\\\RootPackageLoader\\:\\:load\\(\\) should be contravariant with parameter \\$class \\(class\\-string\\<Composer\\\\Package\\\\CompletePackage\\>\\) of method Composer\\\\Package\\\\Loader\\\\LoaderInterface\\:\\:load\\(\\)$#"
|
||||
count: 1
|
||||
path: ../src/Composer/Package/Loader/RootPackageLoader.php
|
||||
|
||||
|
@ -4595,11 +4585,6 @@ parameters:
|
|||
count: 10
|
||||
path: ../src/Composer/Repository/Vcs/GitBitbucketDriver.php
|
||||
|
||||
-
|
||||
message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
|
||||
count: 1
|
||||
path: ../src/Composer/Repository/Vcs/GitBitbucketDriver.php
|
||||
|
||||
-
|
||||
message: "#^Property Composer\\\\Repository\\\\Vcs\\\\GitBitbucketDriver\\:\\:\\$branches \\(array\\<string, string\\>\\) does not accept array\\<int\\|string, mixed\\>\\.$#"
|
||||
count: 1
|
||||
|
@ -4720,11 +4705,6 @@ parameters:
|
|||
count: 1
|
||||
path: ../src/Composer/Repository/Vcs/GitHubDriver.php
|
||||
|
||||
-
|
||||
message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
|
||||
count: 1
|
||||
path: ../src/Composer/Repository/Vcs/GitHubDriver.php
|
||||
|
||||
-
|
||||
message: "#^Only booleans are allowed in an if condition, string\\|null given\\.$#"
|
||||
count: 2
|
||||
|
@ -4797,7 +4777,7 @@ parameters:
|
|||
|
||||
-
|
||||
message: "#^Only booleans are allowed in an if condition, mixed given\\.$#"
|
||||
count: 2
|
||||
count: 1
|
||||
path: ../src/Composer/Repository/Vcs/GitLabDriver.php
|
||||
|
||||
-
|
||||
|
@ -5020,11 +5000,6 @@ parameters:
|
|||
count: 1
|
||||
path: ../src/Composer/Repository/VcsRepository.php
|
||||
|
||||
-
|
||||
message: "#^Only booleans are allowed in a negated boolean, array given\\.$#"
|
||||
count: 2
|
||||
path: ../src/Composer/Repository/VcsRepository.php
|
||||
|
||||
-
|
||||
message: "#^Only booleans are allowed in a negated boolean, array\\<Composer\\\\Package\\\\BasePackage\\> given\\.$#"
|
||||
count: 1
|
||||
|
|
|
@ -1364,12 +1364,7 @@ INITIALIZER;
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $fileIdentifier
|
||||
* @param string $file
|
||||
* @return void
|
||||
*/
|
||||
function composerRequire(string $fileIdentifier, string $file)
|
||||
function composerRequire(string $fileIdentifier, string $file): void
|
||||
{
|
||||
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
||||
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
|
||||
|
|
|
@ -459,7 +459,7 @@ EOT
|
|||
* @param string $author
|
||||
* @return array{name: string, email: string|null}
|
||||
*/
|
||||
private function parseAuthorString(string $author)
|
||||
private function parseAuthorString(string $author): array
|
||||
{
|
||||
if (Preg::isMatch('/^(?P<name>[- .,\p{L}\p{N}\p{Mn}\'’"()]+)(?:\s+<(?P<email>.+?)>)?$/u', $author, $match)) {
|
||||
$hasEmail = isset($match['email']) && '' !== $match['email'];
|
||||
|
|
|
@ -294,7 +294,7 @@ EOT
|
|||
if (
|
||||
$input->getOption('outdated')
|
||||
&& $input->getOption('strict')
|
||||
&& $latestPackage
|
||||
&& null !== $latestPackage
|
||||
&& $latestPackage->getFullPrettyVersion() !== $package->getFullPrettyVersion()
|
||||
&& (!$latestPackage instanceof CompletePackageInterface || !$latestPackage->isAbandoned())
|
||||
) {
|
||||
|
@ -415,7 +415,7 @@ EOT
|
|||
foreach ($packages[$type] as $package) {
|
||||
if (is_object($package)) {
|
||||
$latestPackage = $this->findLatestPackage($package, $composer, $platformRepo, $showMinorOnly, $platformReqFilter);
|
||||
if ($latestPackage === false) {
|
||||
if ($latestPackage === null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -628,7 +628,7 @@ EOT
|
|||
* @throws \InvalidArgumentException
|
||||
* @return array{CompletePackageInterface|null, array<string, string>}
|
||||
*/
|
||||
protected function getPackage(InstalledRepository $installedRepo, RepositoryInterface $repos, string $name, $version = null)
|
||||
protected function getPackage(InstalledRepository $installedRepo, RepositoryInterface $repos, string $name, $version = null): array
|
||||
{
|
||||
$name = strtolower($name);
|
||||
$constraint = is_string($version) ? $this->versionParser->parseConstraints($version) : $version;
|
||||
|
@ -1287,10 +1287,8 @@ EOT
|
|||
|
||||
/**
|
||||
* Given a package, this finds the latest package matching it
|
||||
*
|
||||
* @return PackageInterface|false
|
||||
*/
|
||||
private function findLatestPackage(PackageInterface $package, Composer $composer, PlatformRepository $platformRepo, bool $minorOnly, PlatformRequirementFilterInterface $platformReqFilter)
|
||||
private function findLatestPackage(PackageInterface $package, Composer $composer, PlatformRepository $platformRepo, bool $minorOnly, PlatformRequirementFilterInterface $platformReqFilter): ?PackageInterface
|
||||
{
|
||||
// find the latest version allowed in this repo set
|
||||
$name = $package->getName();
|
||||
|
@ -1320,7 +1318,7 @@ EOT
|
|||
$candidate = $candidate->getAliasOf();
|
||||
}
|
||||
|
||||
return $candidate;
|
||||
return $candidate !== false ? $candidate : null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -288,7 +288,7 @@ class Decisions implements \Iterator, \Countable
|
|||
return $str;
|
||||
}
|
||||
|
||||
public function __toString()
|
||||
public function __toString(): string
|
||||
{
|
||||
return $this->toString();
|
||||
}
|
||||
|
|
|
@ -268,7 +268,7 @@ class Pool implements \Countable
|
|||
return $this->unacceptableFixedOrLockedPackages;
|
||||
}
|
||||
|
||||
public function __toString()
|
||||
public function __toString(): string
|
||||
{
|
||||
$str = "Pool:\n";
|
||||
|
||||
|
|
|
@ -78,7 +78,7 @@ abstract class Rule
|
|||
*/
|
||||
abstract public function getHash();
|
||||
|
||||
abstract public function __toString();
|
||||
abstract public function __toString(): string;
|
||||
|
||||
/**
|
||||
* @param Rule $rule
|
||||
|
|
|
@ -195,7 +195,7 @@ class RuleSet implements \IteratorAggregate, \Countable
|
|||
return $string;
|
||||
}
|
||||
|
||||
public function __toString()
|
||||
public function __toString(): string
|
||||
{
|
||||
return $this->getPrettyString();
|
||||
}
|
||||
|
|
|
@ -81,7 +81,7 @@ class EventDispatcher
|
|||
* @param bool $runScripts
|
||||
* @return $this
|
||||
*/
|
||||
public function setRunScripts(bool $runScripts = true)
|
||||
public function setRunScripts(bool $runScripts = true): self
|
||||
{
|
||||
$this->runScripts = (bool) $runScripts;
|
||||
|
||||
|
|
|
@ -21,6 +21,8 @@ use Composer\Semver\VersionParser;
|
|||
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions
|
||||
*
|
||||
* To require its presence, you can require `composer-runtime-api ^2.0`
|
||||
*
|
||||
* @final
|
||||
*/
|
||||
class InstalledVersions
|
||||
{
|
||||
|
|
|
@ -1030,7 +1030,7 @@ class Installer
|
|||
* @param Composer $composer
|
||||
* @return Installer
|
||||
*/
|
||||
public static function create(IOInterface $io, Composer $composer): Installer
|
||||
public static function create(IOInterface $io, Composer $composer): self
|
||||
{
|
||||
return new static(
|
||||
$io,
|
||||
|
@ -1049,7 +1049,7 @@ class Installer
|
|||
* @param RepositoryInterface $additionalFixedRepository
|
||||
* @return $this
|
||||
*/
|
||||
public function setAdditionalFixedRepository(RepositoryInterface $additionalFixedRepository)
|
||||
public function setAdditionalFixedRepository(RepositoryInterface $additionalFixedRepository): self
|
||||
{
|
||||
$this->additionalFixedRepository = $additionalFixedRepository;
|
||||
|
||||
|
@ -1062,7 +1062,7 @@ class Installer
|
|||
* @param bool $dryRun
|
||||
* @return Installer
|
||||
*/
|
||||
public function setDryRun(bool $dryRun = true): Installer
|
||||
public function setDryRun(bool $dryRun = true): self
|
||||
{
|
||||
$this->dryRun = (bool) $dryRun;
|
||||
|
||||
|
@ -1085,7 +1085,7 @@ class Installer
|
|||
* @param bool $preferSource
|
||||
* @return Installer
|
||||
*/
|
||||
public function setPreferSource(bool $preferSource = true): Installer
|
||||
public function setPreferSource(bool $preferSource = true): self
|
||||
{
|
||||
$this->preferSource = (bool) $preferSource;
|
||||
|
||||
|
@ -1098,7 +1098,7 @@ class Installer
|
|||
* @param bool $preferDist
|
||||
* @return Installer
|
||||
*/
|
||||
public function setPreferDist(bool $preferDist = true): Installer
|
||||
public function setPreferDist(bool $preferDist = true): self
|
||||
{
|
||||
$this->preferDist = (bool) $preferDist;
|
||||
|
||||
|
@ -1111,7 +1111,7 @@ class Installer
|
|||
* @param bool $optimizeAutoloader
|
||||
* @return Installer
|
||||
*/
|
||||
public function setOptimizeAutoloader(bool $optimizeAutoloader): Installer
|
||||
public function setOptimizeAutoloader(bool $optimizeAutoloader): self
|
||||
{
|
||||
$this->optimizeAutoloader = (bool) $optimizeAutoloader;
|
||||
if (!$this->optimizeAutoloader) {
|
||||
|
@ -1130,7 +1130,7 @@ class Installer
|
|||
* @param bool $classMapAuthoritative
|
||||
* @return Installer
|
||||
*/
|
||||
public function setClassMapAuthoritative(bool $classMapAuthoritative): Installer
|
||||
public function setClassMapAuthoritative(bool $classMapAuthoritative): self
|
||||
{
|
||||
$this->classMapAuthoritative = (bool) $classMapAuthoritative;
|
||||
if ($this->classMapAuthoritative) {
|
||||
|
@ -1148,7 +1148,7 @@ class Installer
|
|||
* @param string|null $apcuAutoloaderPrefix
|
||||
* @return Installer
|
||||
*/
|
||||
public function setApcuAutoloader(bool $apcuAutoloader, ?string $apcuAutoloaderPrefix = null): Installer
|
||||
public function setApcuAutoloader(bool $apcuAutoloader, ?string $apcuAutoloaderPrefix = null): self
|
||||
{
|
||||
$this->apcuAutoloader = $apcuAutoloader;
|
||||
$this->apcuAutoloaderPrefix = $apcuAutoloaderPrefix;
|
||||
|
@ -1162,7 +1162,7 @@ class Installer
|
|||
* @param bool $update
|
||||
* @return Installer
|
||||
*/
|
||||
public function setUpdate(bool $update): Installer
|
||||
public function setUpdate(bool $update): self
|
||||
{
|
||||
$this->update = (bool) $update;
|
||||
|
||||
|
@ -1175,7 +1175,7 @@ class Installer
|
|||
* @param bool $install
|
||||
* @return Installer
|
||||
*/
|
||||
public function setInstall(bool $install): Installer
|
||||
public function setInstall(bool $install): self
|
||||
{
|
||||
$this->install = (bool) $install;
|
||||
|
||||
|
@ -1188,7 +1188,7 @@ class Installer
|
|||
* @param bool $devMode
|
||||
* @return Installer
|
||||
*/
|
||||
public function setDevMode(bool $devMode = true): Installer
|
||||
public function setDevMode(bool $devMode = true): self
|
||||
{
|
||||
$this->devMode = (bool) $devMode;
|
||||
|
||||
|
@ -1203,7 +1203,7 @@ class Installer
|
|||
* @param bool $dumpAutoloader
|
||||
* @return Installer
|
||||
*/
|
||||
public function setDumpAutoloader(bool $dumpAutoloader = true): Installer
|
||||
public function setDumpAutoloader(bool $dumpAutoloader = true): self
|
||||
{
|
||||
$this->dumpAutoloader = (bool) $dumpAutoloader;
|
||||
|
||||
|
@ -1219,7 +1219,7 @@ class Installer
|
|||
* @return Installer
|
||||
* @deprecated Use setRunScripts(false) on the EventDispatcher instance being injected instead
|
||||
*/
|
||||
public function setRunScripts(bool $runScripts = true): Installer
|
||||
public function setRunScripts(bool $runScripts = true): self
|
||||
{
|
||||
$this->runScripts = (bool) $runScripts;
|
||||
|
||||
|
@ -1232,7 +1232,7 @@ class Installer
|
|||
* @param Config $config
|
||||
* @return Installer
|
||||
*/
|
||||
public function setConfig(Config $config): Installer
|
||||
public function setConfig(Config $config): self
|
||||
{
|
||||
$this->config = $config;
|
||||
|
||||
|
@ -1245,7 +1245,7 @@ class Installer
|
|||
* @param bool $verbose
|
||||
* @return Installer
|
||||
*/
|
||||
public function setVerbose(bool $verbose = true): Installer
|
||||
public function setVerbose(bool $verbose = true): self
|
||||
{
|
||||
$this->verbose = (bool) $verbose;
|
||||
|
||||
|
@ -1275,7 +1275,7 @@ class Installer
|
|||
*
|
||||
* @deprecated use setPlatformRequirementFilter instead
|
||||
*/
|
||||
public function setIgnorePlatformRequirements($ignorePlatformReqs): Installer
|
||||
public function setIgnorePlatformRequirements($ignorePlatformReqs): self
|
||||
{
|
||||
trigger_error('Installer::setIgnorePlatformRequirements is deprecated since Composer 2.2, use setPlatformRequirementFilter instead.', E_USER_DEPRECATED);
|
||||
|
||||
|
@ -1286,7 +1286,7 @@ class Installer
|
|||
* @param PlatformRequirementFilterInterface $platformRequirementFilter
|
||||
* @return Installer
|
||||
*/
|
||||
public function setPlatformRequirementFilter(PlatformRequirementFilterInterface $platformRequirementFilter): Installer
|
||||
public function setPlatformRequirementFilter(PlatformRequirementFilterInterface $platformRequirementFilter): self
|
||||
{
|
||||
$this->platformRequirementFilter = $platformRequirementFilter;
|
||||
|
||||
|
@ -1299,7 +1299,7 @@ class Installer
|
|||
* @param bool $updateMirrors
|
||||
* @return Installer
|
||||
*/
|
||||
public function setUpdateMirrors(bool $updateMirrors): Installer
|
||||
public function setUpdateMirrors(bool $updateMirrors): self
|
||||
{
|
||||
$this->updateMirrors = $updateMirrors;
|
||||
|
||||
|
@ -1314,7 +1314,7 @@ class Installer
|
|||
*
|
||||
* @return Installer
|
||||
*/
|
||||
public function setUpdateAllowList(array $packages): Installer
|
||||
public function setUpdateAllowList(array $packages): self
|
||||
{
|
||||
$this->updateAllowList = array_flip(array_map('strtolower', $packages));
|
||||
|
||||
|
@ -1330,7 +1330,7 @@ class Installer
|
|||
* @param int $updateAllowTransitiveDependencies One of the UPDATE_ constants on the Request class
|
||||
* @return Installer
|
||||
*/
|
||||
public function setUpdateAllowTransitiveDependencies(int $updateAllowTransitiveDependencies): Installer
|
||||
public function setUpdateAllowTransitiveDependencies(int $updateAllowTransitiveDependencies): self
|
||||
{
|
||||
if (!in_array($updateAllowTransitiveDependencies, array(Request::UPDATE_ONLY_LISTED, Request::UPDATE_LISTED_WITH_TRANSITIVE_DEPS_NO_ROOT_REQUIRE, Request::UPDATE_LISTED_WITH_TRANSITIVE_DEPS), true)) {
|
||||
throw new \RuntimeException("Invalid value for updateAllowTransitiveDependencies supplied");
|
||||
|
@ -1347,7 +1347,7 @@ class Installer
|
|||
* @param bool $preferStable
|
||||
* @return Installer
|
||||
*/
|
||||
public function setPreferStable(bool $preferStable = true): Installer
|
||||
public function setPreferStable(bool $preferStable = true): self
|
||||
{
|
||||
$this->preferStable = (bool) $preferStable;
|
||||
|
||||
|
@ -1360,7 +1360,7 @@ class Installer
|
|||
* @param bool $preferLowest
|
||||
* @return Installer
|
||||
*/
|
||||
public function setPreferLowest(bool $preferLowest = true): Installer
|
||||
public function setPreferLowest(bool $preferLowest = true): self
|
||||
{
|
||||
$this->preferLowest = (bool) $preferLowest;
|
||||
|
||||
|
@ -1375,7 +1375,7 @@ class Installer
|
|||
* @param bool $writeLock
|
||||
* @return Installer
|
||||
*/
|
||||
public function setWriteLock(bool $writeLock = true): Installer
|
||||
public function setWriteLock(bool $writeLock = true): self
|
||||
{
|
||||
$this->writeLock = (bool) $writeLock;
|
||||
|
||||
|
@ -1390,7 +1390,7 @@ class Installer
|
|||
* @param bool $executeOperations
|
||||
* @return Installer
|
||||
*/
|
||||
public function setExecuteOperations(bool $executeOperations = true): Installer
|
||||
public function setExecuteOperations(bool $executeOperations = true): self
|
||||
{
|
||||
$this->executeOperations = (bool) $executeOperations;
|
||||
|
||||
|
@ -1406,7 +1406,7 @@ class Installer
|
|||
*
|
||||
* @return Installer
|
||||
*/
|
||||
public function disablePlugins(): Installer
|
||||
public function disablePlugins(): self
|
||||
{
|
||||
$this->installationManager->disablePlugins();
|
||||
|
||||
|
@ -1417,7 +1417,7 @@ class Installer
|
|||
* @param SuggestedPackagesReporter $suggestedPackagesReporter
|
||||
* @return Installer
|
||||
*/
|
||||
public function setSuggestedPackagesReporter(SuggestedPackagesReporter $suggestedPackagesReporter): Installer
|
||||
public function setSuggestedPackagesReporter(SuggestedPackagesReporter $suggestedPackagesReporter): self
|
||||
{
|
||||
$this->suggestedPackagesReporter = $suggestedPackagesReporter;
|
||||
|
||||
|
|
|
@ -68,7 +68,7 @@ class ArchiveManager
|
|||
*
|
||||
* @return $this
|
||||
*/
|
||||
public function setOverwriteFiles(bool $overwriteFiles)
|
||||
public function setOverwriteFiles(bool $overwriteFiles): self
|
||||
{
|
||||
$this->overwriteFiles = $overwriteFiles;
|
||||
|
||||
|
|
|
@ -49,7 +49,7 @@ class ArrayLoader implements LoaderInterface
|
|||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function load(array $config, $class = 'Composer\Package\CompletePackage')
|
||||
public function load(array $config, string $class = 'Composer\Package\CompletePackage'): BasePackage
|
||||
{
|
||||
if ($class !== 'Composer\Package\CompletePackage' && $class !== 'Composer\Package\RootPackage') {
|
||||
trigger_error('The $class arg is deprecated, please reach out to Composer maintainers ASAP if you still need this.', E_USER_DEPRECATED);
|
||||
|
@ -81,7 +81,7 @@ class ArrayLoader implements LoaderInterface
|
|||
*
|
||||
* @return list<CompletePackage|CompleteAliasPackage>
|
||||
*/
|
||||
public function loadPackages(array $versions)
|
||||
public function loadPackages(array $versions): array
|
||||
{
|
||||
$packages = array();
|
||||
$linkCache = array();
|
||||
|
@ -99,7 +99,7 @@ class ArrayLoader implements LoaderInterface
|
|||
}
|
||||
|
||||
/**
|
||||
* @template PackageClass of CompletePackageInterface
|
||||
* @template PackageClass of CompletePackage
|
||||
*
|
||||
* @param mixed[] $config package data
|
||||
* @param string $class FQCN to be instantiated
|
||||
|
@ -108,7 +108,7 @@ class ArrayLoader implements LoaderInterface
|
|||
*
|
||||
* @phpstan-param class-string<PackageClass> $class
|
||||
*/
|
||||
private function createObject(array $config, string $class)
|
||||
private function createObject(array $config, string $class): CompletePackage
|
||||
{
|
||||
if (!isset($config['name'])) {
|
||||
throw new \UnexpectedValueException('Unknown package has no name defined ('.json_encode($config).').');
|
||||
|
@ -141,7 +141,7 @@ class ArrayLoader implements LoaderInterface
|
|||
*
|
||||
* @return RootPackage|RootAliasPackage|CompletePackage|CompleteAliasPackage
|
||||
*/
|
||||
private function configureObject(PackageInterface $package, array $config): PackageInterface
|
||||
private function configureObject(PackageInterface $package, array $config): BasePackage
|
||||
{
|
||||
if (!$package instanceof CompletePackage) {
|
||||
throw new \LogicException('ArrayLoader expects instances of the Composer\Package\CompletePackage class to function correctly');
|
||||
|
|
|
@ -13,8 +13,11 @@
|
|||
namespace Composer\Package\Loader;
|
||||
|
||||
use Composer\Json\JsonFile;
|
||||
use Composer\Package\BasePackage;
|
||||
use Composer\Package\CompletePackage;
|
||||
use Composer\Package\CompleteAliasPackage;
|
||||
use Composer\Package\RootPackage;
|
||||
use Composer\Package\RootAliasPackage;
|
||||
|
||||
/**
|
||||
* @author Konstantin Kudryashiv <ever.zet@gmail.com>
|
||||
|
@ -31,9 +34,9 @@ class JsonLoader
|
|||
|
||||
/**
|
||||
* @param string|JsonFile $json A filename, json string or JsonFile instance to load the package from
|
||||
* @return CompletePackage|CompleteAliasPackage
|
||||
* @return CompletePackage|CompleteAliasPackage|RootPackage|RootAliasPackage
|
||||
*/
|
||||
public function load($json)
|
||||
public function load($json): BasePackage
|
||||
{
|
||||
if ($json instanceof JsonFile) {
|
||||
$config = $json->read();
|
||||
|
|
|
@ -17,6 +17,7 @@ use Composer\Package\CompletePackage;
|
|||
use Composer\Package\CompleteAliasPackage;
|
||||
use Composer\Package\RootAliasPackage;
|
||||
use Composer\Package\RootPackage;
|
||||
use Composer\Package\BasePackage;
|
||||
|
||||
/**
|
||||
* Defines a loader that takes an array to create package instances
|
||||
|
@ -28,14 +29,12 @@ interface LoaderInterface
|
|||
/**
|
||||
* Converts a package from an array to a real instance
|
||||
*
|
||||
* @template PackageClass of CompletePackageInterface
|
||||
*
|
||||
* @param mixed[] $config package data
|
||||
* @param string $class FQCN to be instantiated
|
||||
*
|
||||
* @return CompletePackage|CompleteAliasPackage|RootPackage|RootAliasPackage
|
||||
*
|
||||
* @phpstan-param class-string<PackageClass> $class
|
||||
* @phpstan-param class-string<CompletePackage|RootPackage> $class
|
||||
*/
|
||||
public function load(array $config, string $class = 'Composer\Package\CompletePackage');
|
||||
public function load(array $config, string $class = 'Composer\Package\CompletePackage'): BasePackage;
|
||||
}
|
||||
|
|
|
@ -61,15 +61,13 @@ class RootPackageLoader extends ArrayLoader
|
|||
/**
|
||||
* @inheritDoc
|
||||
*
|
||||
* @template PackageClass of RootPackage
|
||||
*
|
||||
* @param string|null $cwd
|
||||
*
|
||||
* @return RootPackage|RootAliasPackage
|
||||
*
|
||||
* @phpstan-param class-string<PackageClass> $class
|
||||
* @phpstan-param class-string<RootPackage> $class
|
||||
*/
|
||||
public function load(array $config, $class = 'Composer\Package\RootPackage', ?string $cwd = null)
|
||||
public function load(array $config, string $class = 'Composer\Package\RootPackage', ?string $cwd = null): BasePackage
|
||||
{
|
||||
if ($class !== 'Composer\Package\RootPackage') {
|
||||
trigger_error('The $class arg is deprecated, please reach out to Composer maintainers ASAP if you still need this.', E_USER_DEPRECATED);
|
||||
|
|
|
@ -59,7 +59,7 @@ class ValidatingArrayLoader implements LoaderInterface
|
|||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function load(array $config, $class = 'Composer\Package\CompletePackage')
|
||||
public function load(array $config, string $class = 'Composer\Package\CompletePackage'): BasePackage
|
||||
{
|
||||
$this->errors = array();
|
||||
$this->warnings = array();
|
||||
|
|
|
@ -97,7 +97,7 @@ class ArrayRepository implements RepositoryInterface
|
|||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function findPackage($name, $constraint)
|
||||
public function findPackage(string $name, $constraint)
|
||||
{
|
||||
$name = strtolower($name);
|
||||
|
||||
|
@ -121,7 +121,7 @@ class ArrayRepository implements RepositoryInterface
|
|||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function findPackages($name, $constraint = null)
|
||||
public function findPackages(string $name, $constraint = null)
|
||||
{
|
||||
// normalize name
|
||||
$name = strtolower($name);
|
||||
|
@ -237,7 +237,7 @@ class ArrayRepository implements RepositoryInterface
|
|||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function getProviders($packageName)
|
||||
public function getProviders(string $packageName)
|
||||
{
|
||||
$result = array();
|
||||
|
||||
|
|
|
@ -187,7 +187,7 @@ class ComposerRepository extends ArrayRepository implements ConfigurableReposito
|
|||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function findPackage($name, $constraint)
|
||||
public function findPackage(string $name, $constraint)
|
||||
{
|
||||
// this call initializes loadRootServerFile which is needed for the rest below to work
|
||||
$hasProviders = $this->hasProviders();
|
||||
|
@ -227,7 +227,7 @@ class ComposerRepository extends ArrayRepository implements ConfigurableReposito
|
|||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function findPackages($name, $constraint = null)
|
||||
public function findPackages(string $name, $constraint = null)
|
||||
{
|
||||
// this call initializes loadRootServerFile which is needed for the rest below to work
|
||||
$hasProviders = $this->hasProviders();
|
||||
|
@ -598,7 +598,7 @@ class ComposerRepository extends ArrayRepository implements ConfigurableReposito
|
|||
return parent::search($query, $mode);
|
||||
}
|
||||
|
||||
public function getProviders($packageName)
|
||||
public function getProviders(string $packageName)
|
||||
{
|
||||
$this->loadRootServerFile();
|
||||
$result = array();
|
||||
|
|
|
@ -116,7 +116,7 @@ class FilesystemRepository extends WritableArrayRepository
|
|||
/**
|
||||
* Writes writable repository.
|
||||
*/
|
||||
public function write($devMode, InstallationManager $installationManager)
|
||||
public function write(bool $devMode, InstallationManager $installationManager)
|
||||
{
|
||||
$data = array('packages' => array(), 'dev' => $devMode, 'dev-package-names' => array());
|
||||
$dumper = new ArrayDumper();
|
||||
|
|
|
@ -436,7 +436,7 @@ class VcsRepository extends ArrayRepository implements ConfigurableRepositoryInt
|
|||
*
|
||||
* @return array{name: string|null, dist: array{type: string, url: string, reference: string, shasum: string}|null, source: array{type: string, url: string, reference: string}}
|
||||
*/
|
||||
protected function preProcess(VcsDriverInterface $driver, array $data, string $identifier)
|
||||
protected function preProcess(VcsDriverInterface $driver, array $data, string $identifier): array
|
||||
{
|
||||
// keep the name of the main identifier for all packages
|
||||
// this ensures that a package can be renamed in one place and that all old tags
|
||||
|
|
|
@ -57,7 +57,7 @@ class WritableArrayRepository extends ArrayRepository implements WritableReposit
|
|||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function write($devMode, InstallationManager $installationManager)
|
||||
public function write(bool $devMode, InstallationManager $installationManager)
|
||||
{
|
||||
$this->devMode = $devMode;
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ class Event extends BaseEvent
|
|||
private $devMode;
|
||||
|
||||
/**
|
||||
* @var BaseEvent
|
||||
* @var BaseEvent|null
|
||||
*/
|
||||
private $originatingEvent;
|
||||
|
||||
|
@ -97,7 +97,7 @@ class Event extends BaseEvent
|
|||
*
|
||||
* @return ?BaseEvent
|
||||
*/
|
||||
public function getOriginatingEvent()
|
||||
public function getOriginatingEvent(): ?BaseEvent
|
||||
{
|
||||
return $this->originatingEvent;
|
||||
}
|
||||
|
@ -108,7 +108,7 @@ class Event extends BaseEvent
|
|||
* @param BaseEvent $event
|
||||
* @return $this
|
||||
*/
|
||||
public function setOriginatingEvent(BaseEvent $event)
|
||||
public function setOriginatingEvent(BaseEvent $event): self
|
||||
{
|
||||
$this->originatingEvent = $this->calculateOriginatingEvent($event);
|
||||
|
||||
|
|
|
@ -422,7 +422,7 @@ class Git
|
|||
/**
|
||||
* @return non-empty-string
|
||||
*/
|
||||
public static function getGitHubDomainsRegex(Config $config)
|
||||
public static function getGitHubDomainsRegex(Config $config): string
|
||||
{
|
||||
return '(' . implode('|', array_map('preg_quote', $config->get('github-domains'))) . ')';
|
||||
}
|
||||
|
@ -430,7 +430,7 @@ class Git
|
|||
/**
|
||||
* @return non-empty-string
|
||||
*/
|
||||
public static function getGitLabDomainsRegex(Config $config)
|
||||
public static function getGitLabDomainsRegex(Config $config): string
|
||||
{
|
||||
return '(' . implode('|', array_map('preg_quote', $config->get('gitlab-domains'))) . ')';
|
||||
}
|
||||
|
|
|
@ -151,7 +151,7 @@ class Perforce
|
|||
/**
|
||||
* @return non-empty-string
|
||||
*/
|
||||
public function generateUniquePerforceClientName()
|
||||
public function generateUniquePerforceClientName(): string
|
||||
{
|
||||
return gethostname() . "_" . time();
|
||||
}
|
||||
|
@ -281,7 +281,7 @@ class Perforce
|
|||
/**
|
||||
* @return non-empty-string
|
||||
*/
|
||||
public function getP4ClientSpec()
|
||||
public function getP4ClientSpec(): string
|
||||
{
|
||||
return $this->path . '/' . $this->getClient() . '.p4.spec';
|
||||
}
|
||||
|
@ -330,7 +330,7 @@ class Perforce
|
|||
* @param string $name
|
||||
* @return ?string
|
||||
*/
|
||||
protected function getP4variable(string $name)
|
||||
protected function getP4variable(string $name): ?string
|
||||
{
|
||||
if ($this->windowsFlag) {
|
||||
$command = 'p4 set';
|
||||
|
@ -385,7 +385,7 @@ class Perforce
|
|||
*
|
||||
* @return non-empty-string
|
||||
*/
|
||||
public function generateP4Command(string $command, bool $useClient = true)
|
||||
public function generateP4Command(string $command, bool $useClient = true): string
|
||||
{
|
||||
$p4Command = 'p4 ';
|
||||
$p4Command .= '-u ' . $this->getUser() . ' ';
|
||||
|
@ -614,7 +614,7 @@ class Perforce
|
|||
/**
|
||||
* @return array{master: string}
|
||||
*/
|
||||
public function getBranches()
|
||||
public function getBranches(): array
|
||||
{
|
||||
$possibleBranches = array();
|
||||
if (!$this->isStream()) {
|
||||
|
|
|
@ -10,11 +10,7 @@
|
|||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @param string $file
|
||||
* @return ?\Composer\Autoload\ClassLoader
|
||||
*/
|
||||
function includeIfExists(string $file)
|
||||
function includeIfExists(string $file): ?\Composer\Autoload\ClassLoader
|
||||
{
|
||||
return file_exists($file) ? include $file : null;
|
||||
}
|
||||
|
|
|
@ -113,7 +113,7 @@ abstract class TestCase extends \PHPUnit\Framework\TestCase
|
|||
}
|
||||
|
||||
/**
|
||||
* @template PackageClass of PackageInterface
|
||||
* @template PackageClass of CompletePackage|CompleteAliasPackage
|
||||
*
|
||||
* @param string $class FQCN to be instantiated
|
||||
* @param string $name
|
||||
|
@ -124,7 +124,7 @@ abstract class TestCase extends \PHPUnit\Framework\TestCase
|
|||
* @phpstan-param class-string<PackageClass> $class
|
||||
* @phpstan-return PackageClass
|
||||
*/
|
||||
protected function getPackage(string $name = 'dummy/pkg', string $version = '1.0.0', string $class = 'Composer\Package\CompletePackage')
|
||||
protected function getPackage(string $name = 'dummy/pkg', string $version = '1.0.0', string $class = 'Composer\Package\CompletePackage'): BasePackage
|
||||
{
|
||||
$normVersion = self::getVersionParser()->normalize($version);
|
||||
|
||||
|
|
Loading…
Reference in New Issue