/** * Visits a ruleset node. * * @param RulesetNode $node The node * @param VisitorArguments $arguments The arguments */ public function visitRuleset(RulesetNode $node, VisitorArguments $arguments) { $paths = []; if (!$node->root) { $selectors = []; foreach ($node->selectors as $selector) { /* @var $selector SelectorNode */ if ($selector->getIsOutput()) { $selectors[] = $selector; } } $node->selectors = $selectors; if (count($selectors)) { $context = $this->contexts[count($this->contexts) - 1]; $paths = $node->joinSelectors($context, $selectors); } else { $node->rules = []; } $node->paths = $paths; } $this->contexts[] = $paths; }