pub enum Location<R, Offset = <R as Reader>::Offset>where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,{
Empty,
Register {
register: Register,
},
Address {
address: u64,
},
Value {
value: Value,
},
Bytes {
value: R,
},
ImplicitPointer {
value: DebugInfoOffset<Offset>,
byte_offset: i64,
},
}
Expand description
A single location of a piece of the result of a DWARF expression.
Variants§
Empty
The piece is empty. Ordinarily this means the piece has been optimized away.
Register
The piece is found in a register.
Address
The piece is found in memory.
Value
The piece has no location but its value is known.
Bytes
The piece is represented by some constant bytes.
Fields
§
value: R
The value.
ImplicitPointer
The piece is a pointer to a value which has no actual location.
Fields
§
value: DebugInfoOffset<Offset>
The .debug_info
offset of the value that this is an implicit pointer into.
Implementations§
Trait Implementations§
source§impl<R, Offset> PartialEq for Location<R, Offset>
impl<R, Offset> PartialEq for Location<R, Offset>
impl<R, Offset> Copy for Location<R, Offset>
impl<R, Offset> StructuralPartialEq for Location<R, Offset>where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
Auto Trait Implementations§
impl<R, Offset> Freeze for Location<R, Offset>
impl<R, Offset> RefUnwindSafe for Location<R, Offset>where
R: RefUnwindSafe,
Offset: RefUnwindSafe,
impl<R, Offset> Send for Location<R, Offset>
impl<R, Offset> Sync for Location<R, Offset>
impl<R, Offset> Unpin for Location<R, Offset>
impl<R, Offset> UnwindSafe for Location<R, Offset>where
R: UnwindSafe,
Offset: 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
source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)