pub struct Block { /* private fields */ }
Expand description
A block of statements, such as in if/do/etc block
Implementations§
source§impl Block
impl Block
sourcepub fn stmts(&self) -> impl Iterator<Item = &Stmt>
pub fn stmts(&self) -> impl Iterator<Item = &Stmt>
An iterator over the statements in the block, such as local foo = 1
.
Note that this does not contain the final statement which can be
attained via Block::last_stmt
.
sourcepub fn stmts_with_semicolon(
&self
) -> impl Iterator<Item = &(Stmt, Option<TokenReference>)>
pub fn stmts_with_semicolon( &self ) -> impl Iterator<Item = &(Stmt, Option<TokenReference>)>
An iterator over the statements in the block, including any optional semicolon token reference present
sourcepub fn last_stmt(&self) -> Option<&LastStmt>
pub fn last_stmt(&self) -> Option<&LastStmt>
The last statement of the block if one exists, such as return foo
sourcepub fn last_stmt_with_semicolon(
&self
) -> Option<&(LastStmt, Option<TokenReference>)>
pub fn last_stmt_with_semicolon( &self ) -> Option<&(LastStmt, Option<TokenReference>)>
The last statement of the block if on exists, including any optional semicolon token reference present
sourcepub fn with_stmts(self, stmts: Vec<(Stmt, Option<TokenReference>)>) -> Self
pub fn with_stmts(self, stmts: Vec<(Stmt, Option<TokenReference>)>) -> Self
Returns a new block with the given statements Takes a vector of statements, followed by an optional semicolon token reference
sourcepub fn with_last_stmt(
self,
last_stmt: Option<(LastStmt, Option<TokenReference>)>
) -> Self
pub fn with_last_stmt( self, last_stmt: Option<(LastStmt, Option<TokenReference>)> ) -> Self
Returns a new block with the given last statement, if one is given Takes an optional last statement, with an optional semicolon
Trait Implementations§
source§impl<'de> Deserialize<'de> for Block
impl<'de> Deserialize<'de> for Block
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Node for Block
impl Node for Block
source§fn start_position(&self) -> Option<Position>
fn start_position(&self) -> Option<Position>
The start position of a node. None if can’t be determined
source§fn end_position(&self) -> Option<Position>
fn end_position(&self) -> Option<Position>
The end position of a node. None if it can’t be determined
source§fn similar(&self, other: &Self) -> bool
fn similar(&self, other: &Self) -> bool
Whether another node of the same type is the same as this one semantically, ignoring position
source§impl PartialEq for Block
impl PartialEq for Block
impl StructuralPartialEq for Block
Auto Trait Implementations§
impl RefUnwindSafe for Block
impl Send for Block
impl Sync for Block
impl Unpin for Block
impl UnwindSafe for Block
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