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§
source§impl 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§
source§impl PartialEq<Source> for Source
impl PartialEq<Source> for Source
impl Eq for Source
impl StructuralEq for Source
impl StructuralPartialEq for Source
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§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more