b374k
m1n1 1.01
Apache/2.4.41 (Ubuntu)
Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
uid=33(www-data) gid=33(www-data) groups=33(www-data)
server ip : 62.171.164.128 | your ip : 127.0.0.1
safemode OFF
 >  / home / dev2.destoffenstraat.com / vendor / composer / composer / src / Composer / Package /
Filename/home/dev2.destoffenstraat.com/vendor/composer/composer/src/Composer/Package/AliasPackage.php
Size9.17 kb
Permissionrw-r--r--
Ownerroot : root
Create time17-Aug-2025 10:26
Last modified29-Sep-2023 10:50
Last accessed23-Aug-2025 03:56
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
<?php

/*
* This file is part of Composer.
*
* (c) Nils Adermann <naderman@naderman.de>
* Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/

namespace Composer\Package;

use Composer\Semver\Constraint\Constraint;
use Composer\Package\Version\VersionParser;

/**
* @author Jordi Boggiano <j.boggiano@seld.be>
*/
class AliasPackage extends BasePackage implements CompletePackageInterface
{
protected $version;
protected $prettyVersion;
protected $dev;
protected $rootPackageAlias = false;
protected $stability;

/** @var PackageInterface */
protected $aliasOf;
/** @var Link[] */
protected $requires;
/** @var Link[] */
protected $devRequires;
/** @var Link[] */
protected $conflicts;
/** @var Link[] */
protected $provides;
/** @var Link[] */
protected $replaces;

/**
* All descendants' constructors should call this parent constructor
*
* @param PackageInterface $aliasOf The package this package is an alias of
* @param string $version The version the alias must report
* @param string $prettyVersion The alias's non-normalized version
*/
public function __construct(PackageInterface $aliasOf, $version, $prettyVersion)
{
parent::__construct($aliasOf->getName());

$this->version = $version;
$this->prettyVersion = $prettyVersion;
$this->aliasOf = $aliasOf;
$this->stability = VersionParser::parseStability($version);
$this->dev = $this->stability === 'dev';

foreach (array('requires', 'devRequires', 'conflicts', 'provides', 'replaces') as $type) {
$links = $aliasOf->{'get' . ucfirst($type)}();
$this->$type = $this->replaceSelfVersionDependencies($links, $type);
}
}

/**
* @return PackageInterface
*/
public function getAliasOf()
{
return $this->aliasOf;
}

/**
* {@inheritDoc}
*/
public function getVersion()
{
return $this->version;
}

/**
* {@inheritDoc}
*/
public function getStability()
{
return $this->stability;
}

/**
* {@inheritDoc}
*/
public function getPrettyVersion()
{
return $this->prettyVersion;
}

/**
* {@inheritDoc}
*/
public function isDev()
{
return $this->dev;
}

/**
* {@inheritDoc}
*/
public function getRequires()
{
return $this->requires;
}

/**
* {@inheritDoc}
*/
public function getConflicts()
{
return $this->conflicts;
}

/**
* {@inheritDoc}
*/
public function getProvides()
{
return $this->provides;
}

/**
* {@inheritDoc}
*/
public function getReplaces()
{
return $this->replaces;
}

/**
* {@inheritDoc}
*/
public function getDevRequires()
{
return $this->devRequires;
}

/**
* Stores whether this is an alias created by an aliasing in the requirements of the root package or not
*
* Use by the policy for sorting manually aliased packages first, see #576
*
* @param bool $value
*
* @return mixed
*/
public function setRootPackageAlias($value)
{
return $this->rootPackageAlias = $value;
}

/**
* @see setRootPackageAlias
* @return bool
*/
public function isRootPackageAlias()
{
return $this->rootPackageAlias;
}

/**
* @param Link[] $links
* @param string $linkType
*
* @return Link[]
*/
protected function replaceSelfVersionDependencies(array $links, $linkType)
{
if (in_array($linkType, array('conflicts', 'provides', 'replaces'), true)) {
$newLinks = array();
foreach ($links as $link) {
// link is self.version, but must be replacing also the replaced version
if ('self.version' === $link->getPrettyConstraint()) {
$newLinks[] = new Link($link->getSource(), $link->getTarget(), new Constraint('=', $this->version), $linkType, $this->prettyVersion);
}
}
$links = array_merge($links, $newLinks);
} else {
foreach ($links as $index => $link) {
if ('self.version' === $link->getPrettyConstraint()) {
$links[$index] = new Link($link->getSource(), $link->getTarget(), new Constraint('=', $this->version), $linkType, $this->prettyVersion);
}
}
}

return $links;
}

/***************************************
* Wrappers around the aliased package *
***************************************/

public function getType()
{
return $this->aliasOf->getType();
}

public function getTargetDir()
{
return $this->aliasOf->getTargetDir();
}

public function getExtra()
{
return $this->aliasOf->getExtra();
}

public function setInstallationSource($type)
{
$this->aliasOf->setInstallationSource($type);
}

public function getInstallationSource()
{
return $this->aliasOf->getInstallationSource();
}

public function getSourceType()
{
return $this->aliasOf->getSourceType();
}

public function getSourceUrl()
{
return $this->aliasOf->getSourceUrl();
}

public function getSourceUrls()
{
return $this->aliasOf->getSourceUrls();
}

public function getSourceReference()
{
return $this->aliasOf->getSourceReference();
}

public function setSourceReference($reference)
{
return $this->aliasOf->setSourceReference($reference);
}

public function setSourceMirrors($mirrors)
{
return $this->aliasOf->setSourceMirrors($mirrors);
}

public function getSourceMirrors()
{
return $this->aliasOf->getSourceMirrors();
}

public function getDistType()
{
return $this->aliasOf->getDistType();
}

public function getDistUrl()
{
return $this->aliasOf->getDistUrl();
}

public function getDistUrls()
{
return $this->aliasOf->getDistUrls();
}

public function getDistReference()
{
return $this->aliasOf->getDistReference();
}

public function setDistReference($reference)
{
return $this->aliasOf->setDistReference($reference);
}

public function getDistSha1Checksum()
{
return $this->aliasOf->getDistSha1Checksum();
}

public function setTransportOptions(array $options)
{
return $this->aliasOf->setTransportOptions($options);
}

public function getTransportOptions()
{
return $this->aliasOf->getTransportOptions();
}

public function setDistMirrors($mirrors)
{
return $this->aliasOf->setDistMirrors($mirrors);
}

public function getDistMirrors()
{
return $this->aliasOf->getDistMirrors();
}

public function getScripts()
{
return $this->aliasOf->getScripts();
}

public function getLicense()
{
return $this->aliasOf->getLicense();
}

public function getAutoload()
{
return $this->aliasOf->getAutoload();
}

public function getDevAutoload()
{
return $this->aliasOf->getDevAutoload();
}

public function getIncludePaths()
{
return $this->aliasOf->getIncludePaths();
}

public function getRepositories()
{
return $this->aliasOf->getRepositories();
}

public function getReleaseDate()
{
return $this->aliasOf->getReleaseDate();
}

public function getBinaries()
{
return $this->aliasOf->getBinaries();
}

public function getKeywords()
{
return $this->aliasOf->getKeywords();
}

public function getDescription()
{
return $this->aliasOf->getDescription();
}

public function getHomepage()
{
return $this->aliasOf->getHomepage();
}

public function getSuggests()
{
return $this->aliasOf->getSuggests();
}

public function getAuthors()
{
return $this->aliasOf->getAuthors();
}

public function getSupport()
{
return $this->aliasOf->getSupport();
}

public function getFunding()
{
return $this->aliasOf->getFunding();
}

public function getNotificationUrl()
{
return $this->aliasOf->getNotificationUrl();
}

public function getArchiveExcludes()
{
return $this->aliasOf->getArchiveExcludes();
}

public function isAbandoned()
{
return $this->aliasOf->isAbandoned();
}

public function getReplacementPackage()
{
return $this->aliasOf->getReplacementPackage();
}

public function __toString()
{
return parent::__toString().' (alias of '.$this->aliasOf->getVersion().')';
}

public function setDistUrl($url)
{
return $this->aliasOf->setDistUrl($url);
}

public function setDistType($type)
{
return $this->aliasOf->setDistType($type);
}
}