|
@@ -339,6 +339,17 @@ class Pool
|
|
|
if (is_array($candidate)) {
|
|
|
$candidateName = $candidate['name'];
|
|
|
$candidateVersion = $candidate['version'];
|
|
|
+ } else {
|
|
|
+ // handle object packages
|
|
|
+ $candidateName = $candidate->getName();
|
|
|
+ $candidateVersion = $candidate->getVersion();
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($candidateName === $name) {
|
|
|
+ return $constraint->matches(new VersionConstraint('==', $candidateVersion)) ? self::MATCH : self::MATCH_NAME;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (is_array($candidate)) {
|
|
|
$provides = isset($candidate['provide'])
|
|
|
? $this->versionParser->parseLinks($candidateName, $candidateVersion, 'provides', $candidate['provide'])
|
|
|
: array();
|
|
@@ -346,17 +357,10 @@ class Pool
|
|
|
? $this->versionParser->parseLinks($candidateName, $candidateVersion, 'replaces', $candidate['replace'])
|
|
|
: array();
|
|
|
} else {
|
|
|
- // handle object packages
|
|
|
- $candidateName = $candidate->getName();
|
|
|
- $candidateVersion = $candidate->getVersion();
|
|
|
$provides = $candidate->getProvides();
|
|
|
$replaces = $candidate->getReplaces();
|
|
|
}
|
|
|
|
|
|
- if ($candidateName === $name) {
|
|
|
- return $constraint->matches(new VersionConstraint('==', $candidateVersion)) ? self::MATCH : self::MATCH_NAME;
|
|
|
- }
|
|
|
-
|
|
|
foreach ($provides as $link) {
|
|
|
if ($link->getTarget() === $name && $constraint->matches($link->getConstraint())) {
|
|
|
return self::MATCH_PROVIDE;
|