Enum Location
pub enum Location<'a> {
Register(RegisterLocation<'a>),
Address(AddressLocation<'a>),
FrameBase(FrameBaseLocation<'a>),
RegisterOffset(RegisterOffsetLocation<'a>),
Expression(ExpressionLocation<'a>),
Unavailable(UnavailableLocation<'a>),
Composite(CompositeLocation<'a>),
Unknown(UnknownLocation<'a>),
}Expand description
Where the value of a variable or a parameter lives, as described by a DWARF location expression.
Variants§
Register(RegisterLocation<'a>)
The value is associated with a register (e.g. DW_OP_reg5)
Address(AddressLocation<'a>)
The value is located at a fixed memory address (e.g. DW_OP_addr)
FrameBase(FrameBaseLocation<'a>)
The value is located in memory at an offset of the frame base
(e.g. DW_OP_fbreg)
RegisterOffset(RegisterOffsetLocation<'a>)
The value is located in memory at an offset of a register
(e.g. DW_OP_breg7 +8)
Expression(ExpressionLocation<'a>)
A DWARF expression that is not evaluated by LIEF
The value is not available (e.g. optimized out)
Composite(CompositeLocation<'a>)
The value is split into several pieces (DW_OP_piece/DW_OP_bit_piece)
Unknown(UnknownLocation<'a>)
A location that is not recognized
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for Location<'a>
impl<'a> RefUnwindSafe for Location<'a>
impl<'a> !Send for Location<'a>
impl<'a> !Sync for Location<'a>
impl<'a> Unpin for Location<'a>
impl<'a> UnwindSafe for Location<'a>
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