Skip to main content

ResourceSnapshot

Struct ResourceSnapshot 

Source
pub struct ResourceSnapshot {
    entries: BTreeMap<PathBuf, Result<ResourceData>>,
}
Expand description

Captured external inputs belonging to one lowering result.

Bytes and failures are retained so consumers interpret external source spans against the same version used by the compiler. This is a per-path snapshot, not an atomic snapshot of the whole filesystem.

Fields§

§entries: BTreeMap<PathBuf, Result<ResourceData>>

Implementations§

Source§

impl ResourceSnapshot

Source

pub fn text_index(&self, path: &Path) -> Option<&LineIndex>

Lazily index a captured UTF-8 resource. Repeated lookups reuse the index. Returns None for absent, failed, or non-UTF-8 reads; Self::get retains the original bytes or I/O error. Never rereads the filesystem.

Source

pub fn get(&self, path: &Path) -> Option<Result<&[u8], &Error>>

Look up a captured read. None means the path was never requested.

Source

pub(crate) fn read( &mut self, reader: &dyn ResourceReader, path: &Path, ) -> Result<&[u8], &Error>

Source

pub(crate) fn dependencies(&self) -> Vec<ExternalDependency>

Trait Implementations§

Source§

impl Debug for ResourceSnapshot

Source§

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

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

impl Default for ResourceSnapshot

Source§

fn default() -> ResourceSnapshot

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

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.