pub struct Source { /* private fields */ }
Expand description
A type representing a single source that may be referred to by Span
s.
In most cases, a source is a single input file.
Implementations
sourceimpl Source
impl Source
sourcepub fn chars(&self) -> impl Iterator<Item = char> + '_
pub fn chars(&self) -> impl Iterator<Item = char> + '_
Return an iterator over the characters in the source.
sourcepub fn lines(&self) -> impl ExactSizeIterator<Item = &Line> + '_
pub fn lines(&self) -> impl ExactSizeIterator<Item = &Line> + '_
Return an iterator over the Line
s in this source.
sourcepub fn get_offset_line(&self, offset: usize) -> Option<(&Line, usize, usize)>
pub fn get_offset_line(&self, offset: usize) -> Option<(&Line, usize, usize)>
Get the line that the given offset appears on, and the line/column numbers of the offset.
Note that the line/column numbers are zero-indexed.
sourcepub fn get_line_range<S: Span>(&self, span: &S) -> Range<usize>
pub fn get_line_range<S: Span>(&self, span: &S) -> Range<usize>
Get the range of lines that this span runs across.
The resulting range is guaranteed to contain valid line indices (i.e: those that can be used for
Source::line
).
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Source
impl Send for Source
impl Sync for Source
impl Unpin for Source
impl UnwindSafe for Source
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more