Struct SourceMap

Source
pub struct SourceMap { /* private fields */ }
Expand description

The SourceMap is the primary entry point for synmap. It maintains a mapping between Span objects and the original source files they were parsed from.

Implementations§

Source§

impl SourceMap

Source

pub fn new() -> SourceMap

Create a new SourceMap object with no files inside of it.

Source

pub fn add_crate_root<P: AsRef<Path>>(&mut self, path: P) -> Result<Crate>

Read and parse the passed-in file path as a crate root, recursively parsing each of the submodules. Produces a syn Crate object with all submodules inlined.

Span objects inside the resulting crate object are SourceMap relative, and should be interpreted by passing to the other methods on this type, such as locinfo, source_text, or filename.

Source

pub fn filename(&self, span: Span) -> Result<&Path>

Get the filename which contains the given span.

Fails if the span is invalid or spans multiple source files.

Source

pub fn source_text(&self, span: Span) -> Result<&str>

Get the source text for the passed-in span.

Fails if the span is invalid or spans multiple source files.

Source

pub fn locinfo(&self, span: Span) -> Result<LocInfo<'_>>

Get a LocInfo object for the passed-in span, containing line, column, and file name information for the beginning and end of the span. The path field in the returned LocInfo struct will be a reference to a canonical path.

Fails if the span is invalid or spans multiple source files.

Trait Implementations§

Source§

impl Debug for SourceMap

Source§

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

Formats the value using the given formatter. 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.