pub struct SourceInfo { /* private fields */ }
Expand description

Details some encoding information about the source.

Implementations§

source§

impl SourceInfo

source

pub fn source(&self) -> &str

Returns the entire source.

source

pub fn line_span(&self, line: usize) -> Option<Range<usize>>

Gets the character range for the provided line, excluding any whitespace.

This returns None if line is not in the interval [0, number of lines).

source

pub fn read_line(&self, line: usize) -> Option<&str>

Reads a line from source.

source

pub fn get_pos_pair(&self, index: usize) -> (usize, usize)

Calculates the line and character number for a given character index.

If the index exceeds the length of the string, the line number is given as the last line and the character number is given as the number of characters after the start of the line.

Trait Implementations§

source§

impl Debug for SourceInfo

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

§

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

§

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.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V