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
Fields
register: Register
The register number.
The piece is found in a register.
Address
Fields
address: u64
The address.
The piece is found in memory.
Value
Fields
value: Value
The value.
The piece has no location but its value is known.
Bytes
The piece is represented by some constant bytes.
ImplicitPointer
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.
The piece is a pointer to a value which has no actual location.
Implementations
Trait Implementations
sourceimpl<R: Clone, Offset: Clone> Clone for Location<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
impl<R: Clone, Offset: Clone> Clone for Location<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
sourceimpl<R: Debug, Offset: Debug> Debug for Location<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
impl<R: Debug, Offset: Debug> Debug for Location<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
sourceimpl<R: PartialEq, Offset: PartialEq> PartialEq<Location<R, Offset>> for Location<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
impl<R: PartialEq, Offset: PartialEq> PartialEq<Location<R, Offset>> for Location<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
impl<R: Copy, Offset: Copy> Copy for Location<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
impl<R, Offset> StructuralPartialEq for Location<R, Offset> where
R: Reader<Offset = Offset>,
Offset: ReaderOffset,
Auto Trait Implementations
impl<R, Offset> RefUnwindSafe for Location<R, Offset> where
Offset: RefUnwindSafe,
R: RefUnwindSafe,
impl<R, Offset> Send for Location<R, Offset> where
Offset: Send,
R: Send,
impl<R, Offset> Sync for Location<R, Offset> where
Offset: Sync,
R: Sync,
impl<R, Offset> Unpin for Location<R, Offset> where
Offset: Unpin,
R: Unpin,
impl<R, Offset> UnwindSafe for Location<R, Offset> where
Offset: UnwindSafe,
R: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more