Struct binaryninja::basicblock::BasicBlock
source · pub struct BasicBlock<C: BlockContext> { /* private fields */ }
Implementations§
source§impl<C: BlockContext> BasicBlock<C>
impl<C: BlockContext> BasicBlock<C>
pub fn function(&self) -> Ref<Function>
pub fn arch(&self) -> CoreArchitecture
pub fn iter(&self) -> C::Iter
pub fn raw_start(&self) -> u64
pub fn raw_end(&self) -> u64
pub fn raw_length(&self) -> u64
pub fn incoming_edges(&self) -> Array<Edge<'_, C>>
pub fn outgoing_edges(&self) -> Array<Edge<'_, C>>
pub fn has_undetermined_outgoing_edges(&self) -> bool
pub fn can_exit(&self) -> bool
pub fn index(&self) -> usize
pub fn immediate_dominator(&self) -> Option<Ref<Self>>
pub fn dominators(&self) -> Array<BasicBlock<C>>
pub fn strict_dominators(&self) -> Array<BasicBlock<C>>
pub fn dominator_tree_children(&self) -> Array<BasicBlock<C>>
pub fn dominance_frontier(&self) -> Array<BasicBlock<C>>
Trait Implementations§
source§impl<C: BlockContext> CoreArrayProvider for BasicBlock<C>
impl<C: BlockContext> CoreArrayProvider for BasicBlock<C>
source§impl<C: Debug + BlockContext> Debug for BasicBlock<C>
impl<C: Debug + BlockContext> Debug for BasicBlock<C>
source§impl<C: Hash + BlockContext> Hash for BasicBlock<C>
impl<C: Hash + BlockContext> Hash for BasicBlock<C>
source§impl<'a, C: BlockContext> IntoIterator for &'a BasicBlock<C>
impl<'a, C: BlockContext> IntoIterator for &'a BasicBlock<C>
§type Item = <C as BlockContext>::Instruction
type Item = <C as BlockContext>::Instruction
The type of the elements being iterated over.
§type IntoIter = <C as BlockContext>::Iter
type IntoIter = <C as BlockContext>::Iter
Which kind of iterator are we turning this into?
source§impl<C: PartialEq + BlockContext> PartialEq for BasicBlock<C>
impl<C: PartialEq + BlockContext> PartialEq for BasicBlock<C>
source§fn eq(&self, other: &BasicBlock<C>) -> bool
fn eq(&self, other: &BasicBlock<C>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl<C: BlockContext> ToOwned for BasicBlock<C>
impl<C: BlockContext> ToOwned for BasicBlock<C>
§type Owned = Ref<BasicBlock<C>>
type Owned = Ref<BasicBlock<C>>
The resulting type after obtaining ownership.
source§fn to_owned(&self) -> Self::Owned
fn to_owned(&self) -> Self::Owned
Creates owned data from borrowed data, usually by cloning. Read more
1.63.0 · source§fn clone_into(&self, target: &mut Self::Owned)
fn clone_into(&self, target: &mut Self::Owned)
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<C: Eq + BlockContext> Eq for BasicBlock<C>
impl<C: BlockContext> Send for BasicBlock<C>
impl<C: BlockContext> StructuralPartialEq for BasicBlock<C>
impl<C: BlockContext> Sync for BasicBlock<C>
Auto Trait Implementations§
impl<C> RefUnwindSafe for BasicBlock<C>where
C: RefUnwindSafe,
impl<C> Unpin for BasicBlock<C>where
C: Unpin,
impl<C> UnwindSafe for BasicBlock<C>where
C: UnwindSafe,
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