isSuperselector method
Whether this is a superselector of other
.
That is, whether this matches every element that other
matches, as well
as possibly additional elements.
Implementation
bool isSuperselector(SimpleSelector other) {
if (this == other) return true;
if (other is PseudoSelector && other.isClass) {
var list = other.selector;
if (list != null && _subselectorPseudos.contains(other.normalizedName)) {
return list.components.every((complex) =>
complex.components.isNotEmpty &&
complex.components.last.selector.components
.any((simple) => isSuperselector(simple)));
}
}
return false;
}