visitRuleSet method
void
visitRuleSet(
- RuleSet node
)
override
Implementation
@override
void visitRuleSet(RuleSet node) {
final oldParent = _parentRuleSet;
var oldNestedSelectorGroups = _nestedSelectorGroup;
if (_nestedSelectorGroup == null) {
final newSelectors = node.selectorGroup!.selectors.toList();
_topLevelSelectorGroup = SelectorGroup(newSelectors, node.span);
_nestedSelectorGroup = _topLevelSelectorGroup;
} else {
_nestedSelectorGroup = _mergeToFlatten(node);
}
_parentRuleSet = node;
super.visitRuleSet(node);
_parentRuleSet = oldParent;
node.declarationGroup.declarations
.removeWhere((declaration) => declaration is RuleSet);
_nestedSelectorGroup = oldNestedSelectorGroups;
if (_parentRuleSet == null) {
if (_expandedRuleSets.isNotEmpty) {
_expansions[node] = _expandedRuleSets;
_expandedRuleSets = [];
}
assert(_flatDeclarationGroup == null);
assert(_nestedSelectorGroup == null);
}
}