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.
Fields
§
address: u64
The address.
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.
§
byte_offset: i64
The byte offset into the value that the implicit pointer points to.
Implementations§
Trait Implementations§
source§impl<R, Offset> Clone for Location<R, Offset>where
R: Reader<Offset = Offset> + Clone,
Offset: ReaderOffset + Clone,
impl<R, Offset> Clone for Location<R, Offset>where
R: Reader<Offset = Offset> + Clone,
Offset: ReaderOffset + Clone,
source§impl<R, Offset> Debug for Location<R, Offset>where
R: Reader<Offset = Offset> + Debug,
Offset: ReaderOffset + Debug,
impl<R, Offset> Debug for Location<R, Offset>where
R: Reader<Offset = Offset> + Debug,
Offset: ReaderOffset + Debug,
source§impl<R, Offset> PartialEq for Location<R, Offset>where
R: Reader<Offset = Offset> + PartialEq,
Offset: ReaderOffset + PartialEq,
impl<R, Offset> PartialEq for Location<R, Offset>where
R: Reader<Offset = Offset> + PartialEq,
Offset: ReaderOffset + PartialEq,
impl<R, Offset> Copy for Location<R, Offset>where
R: Reader<Offset = Offset> + Copy,
Offset: ReaderOffset + Copy,
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>where
R: Freeze,
Offset: Freeze,
impl<R, Offset> RefUnwindSafe for Location<R, Offset>where
R: RefUnwindSafe,
Offset: RefUnwindSafe,
impl<R, Offset> Send for Location<R, Offset>where
R: Send,
Offset: Send,
impl<R, Offset> Sync for Location<R, Offset>where
R: Sync,
Offset: Sync,
impl<R, Offset> Unpin for Location<R, Offset>where
R: Unpin,
Offset: Unpin,
impl<R, Offset> UnwindSafe for Location<R, Offset>where
R: UnwindSafe,
Offset: UnwindSafe,
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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
)