diff --git a/src/Composer/Package/LinkConstraint/SpecificConstraint.php b/src/Composer/Package/LinkConstraint/SpecificConstraint.php index 49235dcaf..1c63821c2 100644 --- a/src/Composer/Package/LinkConstraint/SpecificConstraint.php +++ b/src/Composer/Package/LinkConstraint/SpecificConstraint.php @@ -17,21 +17,21 @@ namespace Composer\Package\LinkConstraint; * * @author Nils Adermann */ -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( $provider); }