Ejemplo n.º 1
0
 /**
  * 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;
 }