pub struct LifterInstructionData { /* private fields */ }Expand description
Per-function store of basic block instruction bytes, populated during basic block analysis and
read during lifting. Obtained from BasicBlockAnalysisContext::lifter_instruction_data or
crate::architecture::FunctionLifterContext::lifter_instruction_data.
Implementations§
Source§impl LifterInstructionData
impl LifterInstructionData
Sourcepub fn append(&self, block: &BasicBlock<NativeBlock>, data: &[u8])
pub fn append(&self, block: &BasicBlock<NativeBlock>, data: &[u8])
Append decoded bytes for a block. Call during basic block analysis only.
Sourcepub fn get(&self, block: &BasicBlock<NativeBlock>, addr: u64) -> &[u8] ⓘ
pub fn get(&self, block: &BasicBlock<NativeBlock>, addr: u64) -> &[u8] ⓘ
The bytes from addr to the end of its block, or an empty slice when the block has no stored
data. Read-only, call during lifting.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for LifterInstructionData
impl RefUnwindSafe for LifterInstructionData
impl !Send for LifterInstructionData
impl !Sync for LifterInstructionData
impl Unpin for LifterInstructionData
impl UnsafeUnpin for LifterInstructionData
impl UnwindSafe for LifterInstructionData
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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