Struct ast_grep_core::ops::Op
source · pub struct Op<L: Language, M: Matcher<L>> { /* private fields */ }
Implementations§
source§impl<L: Language, M: Matcher<L>> Op<L, M>
impl<L: Language, M: Matcher<L>> Op<L, M>
pub fn every(pattern: M) -> Op<L, And<L, M, MatchAll>>
pub fn either(pattern: M) -> Op<L, Or<L, M, MatchNone>>
pub fn all<MS: IntoIterator<Item = M>>(patterns: MS) -> All<L, M>
pub fn any<MS: IntoIterator<Item = M>>(patterns: MS) -> Any<L, M>
pub fn new(matcher: M) -> Op<L, M>
Trait Implementations§
source§impl<L, M> Matcher<L> for Op<L, M>where
L: Language,
M: Matcher<L>,
impl<L, M> Matcher<L> for Op<L, M>where L: Language, M: Matcher<L>,
source§fn match_node_with_env<'tree, D: Doc<Lang = L>>(
&self,
node: Node<'tree, D>,
env: &mut Cow<'_, MetaVarEnv<'tree, D>>
) -> Option<Node<'tree, D>>
fn match_node_with_env<'tree, D: Doc<Lang = L>>( &self, node: Node<'tree, D>, env: &mut Cow<'_, MetaVarEnv<'tree, D>> ) -> Option<Node<'tree, D>>
Returns the node why the input is matched or None if not matched.
The return value is usually input node itself, but it can be different node.
For example
Has
matcher can return the child or descendant node.source§fn potential_kinds(&self) -> Option<BitSet>
fn potential_kinds(&self) -> Option<BitSet>
Returns a bitset for all possible target node kind ids.
Returns None if the matcher needs to try against all node kind.
source§fn get_match_len<D: Doc<Lang = L>>(&self, _node: Node<'_, D>) -> Option<usize>
fn get_match_len<D: Doc<Lang = L>>(&self, _node: Node<'_, D>) -> Option<usize>
get_match_len will skip trailing anonymous child node to exclude punctuation.
fn match_node<'tree, D: Doc<Lang = L>>( &self, node: Node<'tree, D> ) -> Option<NodeMatch<'tree, D>>
fn find_node<'tree, D: Doc<Lang = L>>( &self, node: Node<'tree, D> ) -> Option<NodeMatch<'tree, D>>
Auto Trait Implementations§
impl<L, M> RefUnwindSafe for Op<L, M>where L: RefUnwindSafe, M: RefUnwindSafe,
impl<L, M> Send for Op<L, M>where L: Send, M: Send,
impl<L, M> Sync for Op<L, M>where L: Sync, M: Sync,
impl<L, M> Unpin for Op<L, M>where L: Unpin, M: Unpin,
impl<L, M> UnwindSafe for Op<L, M>where L: UnwindSafe, M: UnwindSafe,
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