pub struct SimplePatternProvider { /* private fields */ }
Implementations§
Trait Implementations§
Source§impl Clone for SimplePatternProvider
impl Clone for SimplePatternProvider
Source§fn clone(&self) -> SimplePatternProvider
fn clone(&self) -> SimplePatternProvider
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for SimplePatternProvider
impl Debug for SimplePatternProvider
Source§impl PatternProvider for SimplePatternProvider
impl PatternProvider for SimplePatternProvider
const WILDCARD: NodeKind = NodeKind::Wildcard
Source§type PatternNodeKey = NodeIndex
type PatternNodeKey = NodeIndex
A reference to a unique node in the pattern graph.
Every
PatternNodeKey
should belong to ONE and ONLY one
PatternNodeKind
.Source§type PatternNodeKind = NodeKind
type PatternNodeKind = NodeKind
The type of pattern node.
Source§type CfgVariable = CfgVar
type CfgVariable = CfgVar
A variable in the output CFG.
The provider is responsible for creating these as specializations
are performed by
expand_clause_nodes
.fn get_root( &self, ) -> ExpandedClauseNodes<Self::CfgVariable, Self::PatternNodeKey>
Source§fn kind_includes(
&self,
kind: Self::PatternNodeKind,
key: Self::PatternNodeKey,
) -> bool
fn kind_includes( &self, kind: Self::PatternNodeKind, key: Self::PatternNodeKey, ) -> bool
Source§fn expand_clause_nodes(
&mut self,
clause_nodes: Vec<Self::PatternNodeKey>,
) -> ExpandedClauseNodes<Self::CfgVariable, Self::PatternNodeKey>
fn expand_clause_nodes( &mut self, clause_nodes: Vec<Self::PatternNodeKey>, ) -> ExpandedClauseNodes<Self::CfgVariable, Self::PatternNodeKey>
After clauses have been selected for specialization, this will
be called with the set of all nodes that should be specialized on.
Source§fn get_kind(&self, key: Self::PatternNodeKey) -> Self::PatternNodeKind
fn get_kind(&self, key: Self::PatternNodeKey) -> Self::PatternNodeKind
Every
PatternNodeKey
should belong to one and only one
PatternNodeKind
.fn is_wildcard(&self, kind: Self::PatternNodeKind) -> bool
fn get_wildcard(&self) -> Self::PatternNodeKind
Auto Trait Implementations§
impl Freeze for SimplePatternProvider
impl RefUnwindSafe for SimplePatternProvider
impl Send for SimplePatternProvider
impl Sync for SimplePatternProvider
impl Unpin for SimplePatternProvider
impl UnwindSafe for SimplePatternProvider
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more