/**
* Evaluate selectors
*
* @param array $selectors
*
* @return array
*/
protected function evalSelectors($selectors)
{
$this->shouldEvaluate = false;
$selectors = array_map(array($this, 'evalSelector'), $selectors);
// after evaluating interpolates, we might need a second pass
if ($this->shouldEvaluate) {
$buffer = $this->collapseSelectors($selectors);
$parser = new Parser(__METHOD__, false);
if ($parser->parseSelector($buffer, $newSelectors)) {
$selectors = array_map(array($this, 'evalSelector'), $newSelectors);
}
}
return $selectors;
}