dora_parser::ast

Enum Stmt

Source
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

Source

pub fn create_var( id: NodeId, pos: Position, span: Span, name: Name, reassignable: bool, data_type: Option<Type>, expr: Option<Box<Expr>>, ) -> Stmt

Source

pub fn create_for( id: NodeId, pos: Position, span: Span, name: Name, expr: Box<Expr>, block: Box<Stmt>, ) -> Stmt

Source

pub fn create_while( id: NodeId, pos: Position, span: Span, cond: Box<Expr>, block: Box<Stmt>, ) -> Stmt

Source

pub fn create_loop( id: NodeId, pos: Position, span: Span, block: Box<Stmt>, ) -> Stmt

Source

pub fn create_expr( id: NodeId, pos: Position, span: Span, expr: Box<Expr>, ) -> Stmt

Source

pub fn create_break(id: NodeId, pos: Position, span: Span) -> Stmt

Source

pub fn create_continue(id: NodeId, pos: Position, span: Span) -> Stmt

Source

pub fn create_return( id: NodeId, pos: Position, span: Span, expr: Option<Box<Expr>>, ) -> Stmt

Source

pub fn create_throw( id: NodeId, pos: Position, span: Span, expr: Box<Expr>, ) -> Stmt

Source

pub fn create_defer( id: NodeId, pos: Position, span: Span, expr: Box<Expr>, ) -> Stmt

Source

pub fn create_do( id: NodeId, pos: Position, span: Span, do_block: Box<Stmt>, catch_blocks: Vec<CatchBlock>, finally_block: Option<FinallyBlock>, ) -> Stmt

Source

pub fn id(&self) -> NodeId

Source

pub fn pos(&self) -> Position

Source

pub fn span(&self) -> Span

Source

pub fn to_throw(&self) -> Option<&StmtThrowType>

Source

pub fn is_throw(&self) -> bool

Source

pub fn to_defer(&self) -> Option<&StmtDeferType>

Source

pub fn is_defer(&self) -> bool

Source

pub fn to_do(&self) -> Option<&StmtDoType>

Source

pub fn is_try(&self) -> bool

Source

pub fn to_var(&self) -> Option<&StmtVarType>

Source

pub fn is_var(&self) -> bool

Source

pub fn to_while(&self) -> Option<&StmtWhileType>

Source

pub fn is_while(&self) -> bool

Source

pub fn to_for(&self) -> Option<&StmtForType>

Source

pub fn is_for(&self) -> bool

Source

pub fn to_loop(&self) -> Option<&StmtLoopType>

Source

pub fn is_loop(&self) -> bool

Source

pub fn to_expr(&self) -> Option<&StmtExprType>

Source

pub fn is_expr(&self) -> bool

Source

pub fn to_return(&self) -> Option<&StmtReturnType>

Source

pub fn is_return(&self) -> bool

Source

pub fn to_break(&self) -> Option<&StmtBreakType>

Source

pub fn is_break(&self) -> bool

Source

pub fn to_continue(&self) -> Option<&StmtContinueType>

Source

pub fn is_continue(&self) -> bool

Trait Implementations§

Source§

impl Clone for Stmt

Source§

fn clone(&self) -> Stmt

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Stmt

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> Erased for T