pub struct BasicBlock {
pub id: BlockId,
pub db_id: Option<i64>,
pub kind: BlockKind,
pub statements: Vec<String>,
pub terminator: Terminator,
pub source_location: Option<SourceLocation>,
pub coord_x: i64,
pub coord_y: i64,
pub coord_z: i64,
}Expand description
Basic block in a CFG
Fields§
§id: BlockIdUnique identifier within the function (graph node index)
db_id: Option<i64>Original database block ID from cfg_blocks (for coverage/schema lookups)
kind: BlockKindBlock kind (entry, normal, exit)
statements: Vec<String>Statements in this block (simplified for now)
terminator: TerminatorTerminator instruction
source_location: Option<SourceLocation>Source location for this block (if available)
coord_x: i644D Spatial Coordinates X coordinate: dominator depth (control flow hierarchy level)
coord_y: i64Y coordinate: loop nesting depth (how many loops surround this block)
coord_z: i64Z coordinate: branch distance from entry point
Trait Implementations§
Source§impl Clone for BasicBlock
impl Clone for BasicBlock
Source§fn clone(&self) -> BasicBlock
fn clone(&self) -> BasicBlock
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BasicBlock
impl Debug for BasicBlock
Source§impl<'de> Deserialize<'de> for BasicBlock
impl<'de> Deserialize<'de> for BasicBlock
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
Auto Trait Implementations§
impl Freeze for BasicBlock
impl RefUnwindSafe for BasicBlock
impl Send for BasicBlock
impl Sync for BasicBlock
impl Unpin for BasicBlock
impl UnsafeUnpin for BasicBlock
impl UnwindSafe for BasicBlock
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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