pub enum Stmt {
StmtVar(StmtVarType),
StmtWhile(StmtWhileType),
StmtLoop(StmtLoopType),
StmtExpr(StmtExprType),
StmtBreak(StmtBreakType),
StmtContinue(StmtContinueType),
StmtReturn(StmtReturnType),
StmtThrow(StmtThrowType),
StmtDefer(StmtDeferType),
StmtDo(StmtDoType),
StmtFor(StmtForType),
}
Variants§
StmtVar(StmtVarType)
StmtWhile(StmtWhileType)
StmtLoop(StmtLoopType)
StmtExpr(StmtExprType)
StmtBreak(StmtBreakType)
StmtContinue(StmtContinueType)
StmtReturn(StmtReturnType)
StmtThrow(StmtThrowType)
StmtDefer(StmtDeferType)
StmtDo(StmtDoType)
StmtFor(StmtForType)
Implementations§
Source§impl Stmt
impl Stmt
pub fn create_var( id: NodeId, pos: Position, span: Span, name: Name, reassignable: bool, data_type: Option<Type>, expr: Option<Box<Expr>>, ) -> Stmt
pub fn create_for( id: NodeId, pos: Position, span: Span, name: Name, expr: Box<Expr>, block: Box<Stmt>, ) -> Stmt
pub fn create_while( id: NodeId, pos: Position, span: Span, cond: Box<Expr>, block: Box<Stmt>, ) -> Stmt
pub fn create_loop( id: NodeId, pos: Position, span: Span, block: Box<Stmt>, ) -> Stmt
pub fn create_expr( id: NodeId, pos: Position, span: Span, expr: Box<Expr>, ) -> Stmt
pub fn create_break(id: NodeId, pos: Position, span: Span) -> Stmt
pub fn create_continue(id: NodeId, pos: Position, span: Span) -> Stmt
pub fn create_return( id: NodeId, pos: Position, span: Span, expr: Option<Box<Expr>>, ) -> Stmt
pub fn create_throw( id: NodeId, pos: Position, span: Span, expr: Box<Expr>, ) -> Stmt
pub fn create_defer( id: NodeId, pos: Position, span: Span, expr: Box<Expr>, ) -> Stmt
pub fn create_do( id: NodeId, pos: Position, span: Span, do_block: Box<Stmt>, catch_blocks: Vec<CatchBlock>, finally_block: Option<FinallyBlock>, ) -> Stmt
pub fn id(&self) -> NodeId
pub fn pos(&self) -> Position
pub fn span(&self) -> Span
pub fn to_throw(&self) -> Option<&StmtThrowType>
pub fn is_throw(&self) -> bool
pub fn to_defer(&self) -> Option<&StmtDeferType>
pub fn is_defer(&self) -> bool
pub fn to_do(&self) -> Option<&StmtDoType>
pub fn is_try(&self) -> bool
pub fn to_var(&self) -> Option<&StmtVarType>
pub fn is_var(&self) -> bool
pub fn to_while(&self) -> Option<&StmtWhileType>
pub fn is_while(&self) -> bool
pub fn to_for(&self) -> Option<&StmtForType>
pub fn is_for(&self) -> bool
pub fn to_loop(&self) -> Option<&StmtLoopType>
pub fn is_loop(&self) -> bool
pub fn to_expr(&self) -> Option<&StmtExprType>
pub fn is_expr(&self) -> bool
pub fn to_return(&self) -> Option<&StmtReturnType>
pub fn is_return(&self) -> bool
pub fn to_break(&self) -> Option<&StmtBreakType>
pub fn is_break(&self) -> bool
pub fn to_continue(&self) -> Option<&StmtContinueType>
pub fn is_continue(&self) -> bool
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Stmt
impl RefUnwindSafe for Stmt
impl Send for Stmt
impl Sync for Stmt
impl Unpin for Stmt
impl UnwindSafe for Stmt
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)