Fix SpecificConstraint which only handles matching of instances of same constraint

main
Nils Adermann 13 years ago
parent d5dd86cd75
commit 9b8ab7d710

@ -17,21 +17,21 @@ namespace Composer\Package\LinkConstraint;
*
* @author Nils Adermann <naderman@naderman.de>
*/
class SpecificConstraint implements LinkConstraintInterface
abstract class SpecificConstraint implements LinkConstraintInterface
{
public function matches(LinkConstraintInterface $provider)
{
if ($provider instanceof MultiConstraint) {
// turn matching around to find a match
return $provider->matches($this);
} else if ($provider instanceof get_class($this)) {
} else if ($provider instanceof $this) {
return $this->matchSpecific($provider);
}
return true;
}
abstract public function matchSpecific($provider);
abstract public function __toString();
// implementations must implement a method of this format:
// not declared abstract here because type hinting violates parameter coherence (TODO right word?)
// public function matchSpecific(<SpecificConstraintType> $provider);
}

Loading…
Cancel
Save