struct NegationScopeVisitor {
in_negation: bool,
found_scope_in_negation: bool,
}Expand description
A struct that visits a selector and determines if there is a :scope
component nested withing a negation. eg. :not(:scope)
Fields§
§in_negation: boolHave we found a negation list yet
found_scope_in_negation: boolHave we found a :scope inside a negation yet
Implementations§
Source§impl NegationScopeVisitor
impl NegationScopeVisitor
fn traverse_selector( self, selector: &Selector<<NegationScopeVisitor as SelectorVisitor>::Impl>, ) -> bool
Sourcefn traverse_dependency(self, dependency: &Dependency) -> bool
fn traverse_dependency(self, dependency: &Dependency) -> bool
Traverse all the next dependencies in an outer dependency until we reach
- :not(* :scope *)
- a scope or relative dependency
- the end of the chain of dependencies Return whether or not we encountered :not(* :scope *)
Trait Implementations§
Source§impl SelectorVisitor for NegationScopeVisitor
impl SelectorVisitor for NegationScopeVisitor
Source§type Impl = SelectorImpl
type Impl = SelectorImpl
The selector implementation this visitor wants to visit.
Source§fn visit_attribute_selector(
&mut self,
_namespace: &NamespaceConstraint<&<Self::Impl as SelectorImpl>::NamespaceUrl>,
_local_name: &<Self::Impl as SelectorImpl>::LocalName,
_local_name_lower: &<Self::Impl as SelectorImpl>::LocalName,
) -> bool
fn visit_attribute_selector( &mut self, _namespace: &NamespaceConstraint<&<Self::Impl as SelectorImpl>::NamespaceUrl>, _local_name: &<Self::Impl as SelectorImpl>::LocalName, _local_name_lower: &<Self::Impl as SelectorImpl>::LocalName, ) -> bool
Visit an attribute selector that may match (there are other selectors
that may never match, like those containing whitespace or the empty
string).
Source§fn visit_simple_selector(&mut self, component: &Component<Self::Impl>) -> bool
fn visit_simple_selector(&mut self, component: &Component<Self::Impl>) -> bool
Visit a simple selector.
Source§fn visit_relative_selector_list(
&mut self,
_list: &[RelativeSelector<Self::Impl>],
) -> bool
fn visit_relative_selector_list( &mut self, _list: &[RelativeSelector<Self::Impl>], ) -> bool
Visit a nested relative selector list. The caller is responsible to call visit
into the internal selectors if / as needed. Read more
Source§fn visit_selector_list(
&mut self,
list_kind: SelectorListKind,
list: &[Selector<Self::Impl>],
) -> bool
fn visit_selector_list( &mut self, list_kind: SelectorListKind, list: &[Selector<Self::Impl>], ) -> bool
Visit a nested selector list. The caller is responsible to call visit
into the internal selectors if / as needed. Read more
Source§fn visit_complex_selector(
&mut self,
_combinator_to_right: Option<Combinator>,
) -> bool
fn visit_complex_selector( &mut self, _combinator_to_right: Option<Combinator>, ) -> bool
Visits a complex selector. Read more
Auto Trait Implementations§
impl Freeze for NegationScopeVisitor
impl RefUnwindSafe for NegationScopeVisitor
impl Send for NegationScopeVisitor
impl Sync for NegationScopeVisitor
impl Unpin for NegationScopeVisitor
impl UnwindSafe for NegationScopeVisitor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
Source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
Source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
Source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert