function ArrayLoader::createLink
Parameters
string $source source package name:
string $sourceVersion source package version (pretty version ideally):
Link::TYPE_* $description link description (e.g. requires, replaces, ..):
string $target target package name:
string $prettyConstraint constraint string:
2 calls to ArrayLoader::createLink()
- ArrayLoader::configureCachedLinks in vendor/
composer/ composer/ src/ Composer/ Package/ Loader/ ArrayLoader.php - ArrayLoader::parseLinks in vendor/
composer/ composer/ src/ Composer/ Package/ Loader/ ArrayLoader.php - @phpstan-param Link::TYPE_* $description
File
-
vendor/
composer/ composer/ src/ Composer/ Package/ Loader/ ArrayLoader.php, line 389
Class
- ArrayLoader
- @author Konstantin Kudryashiv <ever.zet@gmail.com> @author Jordi Boggiano <j.boggiano@seld.be>
Namespace
Composer\Package\LoaderCode
private function createLink(string $source, string $sourceVersion, string $description, string $target, string $prettyConstraint) : Link {
if (!\is_string($prettyConstraint)) {
throw new \UnexpectedValueException('Link constraint in ' . $source . ' ' . $description . ' > ' . $target . ' should be a string, got ' . \gettype($prettyConstraint) . ' (' . var_export($prettyConstraint, true) . ')');
}
if ('self.version' === $prettyConstraint) {
$parsedConstraint = $this->versionParser
->parseConstraints($sourceVersion);
}
else {
$parsedConstraint = $this->versionParser
->parseConstraints($prettyConstraint);
}
return new Link($source, $target, $parsedConstraint, $description, $prettyConstraint);
}