pub struct AbbreviationsCache { /* private fields */ }
Expand description

A cache of previously parsed Abbreviations.

Implementations§

source§

impl AbbreviationsCache

source

pub fn new() -> Self

Create an empty abbreviations cache.

source

pub fn populate<R: Reader>( &mut self, strategy: AbbreviationsCacheStrategy, debug_abbrev: &DebugAbbrev<R>, units: DebugInfoUnitHeadersIter<R> )

Parse abbreviations and store them in the cache.

This will iterate over the given units to determine the abbreviations offsets. Any existing cache entries are discarded.

Errors during parsing abbreviations are also stored in the cache. Errors during iterating over the units are ignored.

source

pub fn set<R: Reader>( &mut self, offset: DebugAbbrevOffset<R::Offset>, abbreviations: Arc<Abbreviations> )

Set an entry in the abbreviations cache.

This is only required if you want to manually populate the cache.

source

pub fn get<R: Reader>( &self, debug_abbrev: &DebugAbbrev<R>, offset: DebugAbbrevOffset<R::Offset> ) -> Result<Arc<Abbreviations>>

Parse the abbreviations at the given offset.

This uses the cache if possible, but does not update it.

Trait Implementations§

source§

impl Debug for AbbreviationsCache

source§

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

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

impl Default for AbbreviationsCache

source§

fn default() -> AbbreviationsCache

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

Auto Trait Implementations§

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> 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, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.