pub struct AbsoluteSpan {
pub source_file: SourceFile,
pub start: AbsoluteOffset,
pub end: AbsoluteOffset,
}Expand description
An absolute span within the input. The offsets are stored as absolute offsets within a given source file. These are used for diagnostics or outputs but not internally during compilation.
Fields§
§source_file: SourceFile§start: AbsoluteOffset§end: AbsoluteOffsetImplementations§
Source§impl AbsoluteSpan
impl AbsoluteSpan
Sourcepub fn narrow(self) -> Self
pub fn narrow(self) -> Self
Skip one character at the start/end of the span. Used to skip past delimiters when computing absolute spans.
Sourcepub fn into_span(self, _db: &dyn Db) -> Span<'_>
pub fn into_span(self, _db: &dyn Db) -> Span<'_>
Convert into a span anchored at the source file.
Sourcepub fn contains(self, other: AbsoluteSpan) -> bool
pub fn contains(self, other: AbsoluteSpan) -> bool
True if self contains all of other
Trait Implementations§
Source§impl Clone for AbsoluteSpan
impl Clone for AbsoluteSpan
Source§fn clone(&self) -> AbsoluteSpan
fn clone(&self) -> AbsoluteSpan
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AbsoluteSpan
impl Debug for AbsoluteSpan
Source§impl Hash for AbsoluteSpan
impl Hash for AbsoluteSpan
Source§impl Ord for AbsoluteSpan
Span A < Span B if:
impl Ord for AbsoluteSpan
Span A < Span B if:
- A is enclosed in B
- A ends before B ends
- A starts before B starts
Source§impl PartialEq for AbsoluteSpan
impl PartialEq for AbsoluteSpan
Source§impl PartialOrd for AbsoluteSpan
impl PartialOrd for AbsoluteSpan
Source§impl Serialize for AbsoluteSpan
impl Serialize for AbsoluteSpan
impl Copy for AbsoluteSpan
impl Eq for AbsoluteSpan
impl StructuralPartialEq for AbsoluteSpan
Auto Trait Implementations§
impl Freeze for AbsoluteSpan
impl RefUnwindSafe for AbsoluteSpan
impl Send for AbsoluteSpan
impl Sync for AbsoluteSpan
impl Unpin for AbsoluteSpan
impl UnsafeUnpin for AbsoluteSpan
impl UnwindSafe for AbsoluteSpan
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> HashEqLike<T> for T
impl<T> HashEqLike<T> for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more