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
impl SourceMap
Sourcepub fn add_crate_root<P: AsRef<Path>>(&mut self, path: P) -> Result<Crate>
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
.
Sourcepub fn filename(&self, span: Span) -> Result<&Path>
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.
Sourcepub fn source_text(&self, span: Span) -> Result<&str>
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.
Sourcepub fn locinfo(&self, span: Span) -> Result<LocInfo<'_>>
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.