public function match($value, $pattern)
{
if (parent::match($value, $pattern)) {
return true;
}
if (!is_array($value)) {
$this->error = sprintf("%s \"%s\" is not a valid array.", gettype($value), new StringConverter($value));
return false;
}
if ($this->isArrayPattern($pattern)) {
return $this->allExpandersMatch($value, $pattern);
}
if (false === $this->iterateMatch($value, $pattern)) {
return false;
}
return true;
}