struct NestLimiter<'p, 's, P> {
    p: &'p ParserI<'s, P>,
    depth: u32,
}Expand description
A type that traverses a fully parsed Ast and checks whether its depth exceeds the specified nesting limit. If it does, then an error is returned.
Fields§
§p: &'p ParserI<'s, P>The parser that is checking the nest limit.
depth: u32The current depth while walking an Ast.
Implementations§
Trait Implementations§
Source§impl<'p, 's, P: Debug> Debug for NestLimiter<'p, 's, P>
 
impl<'p, 's, P: Debug> Debug for NestLimiter<'p, 's, P>
Source§impl<'p, 's, P: Borrow<Parser>> Visitor for NestLimiter<'p, 's, P>
 
impl<'p, 's, P: Borrow<Parser>> Visitor for NestLimiter<'p, 's, P>
Source§fn finish(self) -> Result<(), Error>
 
fn finish(self) -> Result<(), Error>
All implementors of 
Visitor must provide a finish method, which
yields the result of visiting the AST or an error.Source§fn visit_pre(&mut self, ast: &Ast) -> Result<(), Error>
 
fn visit_pre(&mut self, ast: &Ast) -> Result<(), Error>
This method is called on an 
Ast before descending into child Ast
nodes.Source§fn visit_post(&mut self, ast: &Ast) -> Result<(), Error>
 
fn visit_post(&mut self, ast: &Ast) -> Result<(), Error>
This method is called on an 
Ast after descending all of its child
Ast nodes.Source§fn visit_class_set_item_pre(&mut self, ast: &ClassSetItem) -> Result<(), Error>
 
fn visit_class_set_item_pre(&mut self, ast: &ClassSetItem) -> Result<(), Error>
This method is called on every 
ClassSetItem
before descending into child nodes.Source§fn visit_class_set_item_post(&mut self, ast: &ClassSetItem) -> Result<(), Error>
 
fn visit_class_set_item_post(&mut self, ast: &ClassSetItem) -> Result<(), Error>
This method is called on every 
ClassSetItem
after descending into child nodes.Source§fn visit_class_set_binary_op_pre(
    &mut self,
    ast: &ClassSetBinaryOp,
) -> Result<(), Error>
 
fn visit_class_set_binary_op_pre( &mut self, ast: &ClassSetBinaryOp, ) -> Result<(), Error>
This method is called on every
ClassSetBinaryOp before descending into
child nodes.Source§fn visit_class_set_binary_op_post(
    &mut self,
    _ast: &ClassSetBinaryOp,
) -> Result<(), Error>
 
fn visit_class_set_binary_op_post( &mut self, _ast: &ClassSetBinaryOp, ) -> Result<(), Error>
This method is called on every
ClassSetBinaryOp after descending into child
nodes.Source§fn visit_alternation_in(&mut self) -> Result<(), Self::Err>
 
fn visit_alternation_in(&mut self) -> Result<(), Self::Err>
This method is called between child nodes of an
Alternation.Source§fn visit_concat_in(&mut self) -> Result<(), Self::Err>
 
fn visit_concat_in(&mut self) -> Result<(), Self::Err>
This method is called between child nodes of a concatenation.
Source§fn visit_class_set_binary_op_in(
    &mut self,
    _ast: &ClassSetBinaryOp,
) -> Result<(), Self::Err>
 
fn visit_class_set_binary_op_in( &mut self, _ast: &ClassSetBinaryOp, ) -> Result<(), Self::Err>
This method is called between the left hand and right hand child nodes
of a 
ClassSetBinaryOp.Auto Trait Implementations§
impl<'p, 's, P> Freeze for NestLimiter<'p, 's, P>
impl<'p, 's, P> RefUnwindSafe for NestLimiter<'p, 's, P>where
    P: RefUnwindSafe,
impl<'p, 's, P> Send for NestLimiter<'p, 's, P>where
    P: Sync,
impl<'p, 's, P> Sync for NestLimiter<'p, 's, P>where
    P: Sync,
impl<'p, 's, P> Unpin for NestLimiter<'p, 's, P>
impl<'p, 's, P> UnwindSafe for NestLimiter<'p, 's, P>where
    P: RefUnwindSafe,
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