public function describe(Exporter $exporter = null)
{
$matcherDescription = $this->matcher->describe($exporter);
if (0 === $this->minimumArguments) {
if (null === $this->maximumArguments) {
return sprintf('%s*', $matcherDescription);
} else {
return sprintf('%s{,%d}', $matcherDescription, $this->maximumArguments);
}
} elseif (null === $this->maximumArguments) {
return sprintf('%s{%d,}', $matcherDescription, $this->minimumArguments);
} elseif ($this->minimumArguments === $this->maximumArguments) {
return sprintf('%s{%d}', $matcherDescription, $this->minimumArguments);
}
return sprintf('%s{%d,%d}', $matcherDescription, $this->minimumArguments, $this->maximumArguments);
}