Struct LocalVariable

Source
pub struct LocalVariable<'input> { /* private fields */ }
Expand description

A local variable.

Implementations§

Source§

impl<'input> LocalVariable<'input>

Source

pub fn name(&self) -> Option<&'input str>

The name of the variable.

Source

pub fn type_offset(&self) -> TypeOffset

The type offset of the variable.

A type offset is unique for all types in a file.

Source

pub fn ty<'a>( &self, hash: &'a FileHash<'input>, ) -> Option<Cow<'a, Type<'input>>>

The type of the variable.

Returns None if the type is invalid.

Source

pub fn source(&self) -> &Source<'input>

The source information for the variable.

Source

pub fn address(&self) -> Option<u64>

The address of the variable.

This will only be known for static variables.

Source

pub fn byte_size(&self, hash: &FileHash<'_>) -> Option<u64>

The size in bytes of the variable.

Source

pub fn registers(&self) -> impl Iterator<Item = (Range, Register)> + '_

The registers in which this variable is stored.

Source

pub fn register_offsets( &self, ) -> impl Iterator<Item = (Range, Register, i64)> + '_

The registers pointing to where this variable is stored.

Source

pub fn frame_locations(&self) -> impl Iterator<Item = FrameLocation> + '_

The stack frame locations at which this variable is stored.

Source

pub fn cmp_id( _hash_a: &FileHash<'_>, a: &Self, _hash_b: &FileHash<'_>, b: &Self, ) -> Ordering

Compare the identifying information of two variables.

Variables are considered equal if their names are equal.

This can be used to sort, and to determine if two variables refer to the same definition (even if there are differences in the definitions).

Trait Implementations§

Source§

impl<'input> Clone for LocalVariable<'input>

Source§

fn clone(&self) -> LocalVariable<'input>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'input> Debug for LocalVariable<'input>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'input> Default for LocalVariable<'input>

Source§

fn default() -> LocalVariable<'input>

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<'input> Freeze for LocalVariable<'input>

§

impl<'input> RefUnwindSafe for LocalVariable<'input>

§

impl<'input> Send for LocalVariable<'input>

§

impl<'input> Sync for LocalVariable<'input>

§

impl<'input> Unpin for LocalVariable<'input>

§

impl<'input> UnwindSafe for LocalVariable<'input>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.