processSelectorGroup method

SelectorGroup? processSelectorGroup()

Implementation

SelectorGroup? processSelectorGroup() {
  var selectors = <Selector>[];
  var groupInvalid = false;

  tokenizer.inSelector = true;
  do {
    var selector = processSelector();
    if (selector != null) {
      if (selector.hasInvalid) groupInvalid = true;
      selectors.add(selector);
    } else {
      // A failed selector in a list invalidates the entire rule per spec.
      groupInvalid = true;
    }
  } while (_maybeEat(TokenKind.COMMA));
  tokenizer.inSelector = false;

  if (selectors.isNotEmpty && !groupInvalid) {
    return SelectorGroup(selectors);
  }
  return null;
}