pub enum BasicBlock<'blk> {
Undefined,
Root(&'blk BlockRoot<'blk>),
Func(&'blk BlockFunc<'blk>),
Stmt(&'blk BlockStmt<'blk>),
Call(&'blk BlockCall<'blk>),
Enum(&'blk BlockEnum<'blk>),
Class(&'blk BlockClass<'blk>),
Impl(&'blk BlockImpl<'blk>),
Const(&'blk BlockConst<'blk>),
Field(&'blk BlockField<'blk>),
Block,
}Variants§
Undefined
Root(&'blk BlockRoot<'blk>)
Func(&'blk BlockFunc<'blk>)
Stmt(&'blk BlockStmt<'blk>)
Call(&'blk BlockCall<'blk>)
Enum(&'blk BlockEnum<'blk>)
Class(&'blk BlockClass<'blk>)
Impl(&'blk BlockImpl<'blk>)
Const(&'blk BlockConst<'blk>)
Field(&'blk BlockField<'blk>)
Block
Implementations§
Source§impl<'blk> BasicBlock<'blk>
impl<'blk> BasicBlock<'blk>
pub fn format_block(&self, _unit: CompileUnit<'blk>) -> String
Sourcepub fn base(&self) -> Option<&BlockBase<'blk>>
pub fn base(&self) -> Option<&BlockBase<'blk>>
Get the base block information regardless of variant
pub fn opt_node(&self) -> Option<&HirNode<'blk>>
pub fn child_count(&self) -> usize
Trait Implementations§
Source§impl<'blk> Clone for BasicBlock<'blk>
impl<'blk> Clone for BasicBlock<'blk>
Source§fn clone(&self) -> BasicBlock<'blk>
fn clone(&self) -> BasicBlock<'blk>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl<'blk> Freeze for BasicBlock<'blk>
impl<'blk> RefUnwindSafe for BasicBlock<'blk>
impl<'blk> Send for BasicBlock<'blk>
impl<'blk> Sync for BasicBlock<'blk>
impl<'blk> Unpin for BasicBlock<'blk>
impl<'blk> UnwindSafe for BasicBlock<'blk>
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§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more