Struct swc_common::Span [−][src]
pub struct Span {
pub lo: BytePos,
pub hi: BytePos,
pub ctxt: SyntaxContext,
}
Expand description
Spans represent a region of code, used for error reporting. Positions in
spans are absolute positions from the beginning of the source_map
, not
positions relative to SourceFile
s. Methods on the SourceMap
can be used
to relate spans back to the original source.
You must be careful if the span crosses more than one file - you will not be
able to use many of the functions on spans in source_map
and you cannot
assume that the length of the span = hi - lo
; there may be space in the
BytePos
range between files.
Fields
lo: BytePos
hi: BytePos
ctxt: SyntaxContext
Information about where the macro came from, if this piece of code was created by a macro expansion.
Implementations
Returns a new span representing an empty span at the beginning of this span
Returns a new span representing an empty span at the end of this span
Returns self
if self
is not the dummy span, and other
otherwise.
Return true if the spans are equal with regards to the source text.
Use this instead of ==
when either span could be generated code,
and you only care that they point to the same bytes of source text.
Returns Some(span)
, where the start is trimmed by the end of other
Return a Span
between the end of self
to the beginning of end
.
Return a Span
between the beginning of self
to the beginning of
end
.
pub fn glob_adjust(
&mut self,
expansion: Mark,
glob_ctxt: SyntaxContext
) -> Option<Option<Mark>>
pub fn reverse_glob_adjust(
&mut self,
expansion: Mark,
glob_ctxt: SyntaxContext
) -> Option<Option<Mark>>
Trait Implementations
type Archived = ArchivedSpan
type Archived = ArchivedSpan
The archived representation of this type. Read more
type Resolver = SpanResolver
type Resolver = SpanResolver
The resolver for this type. It must contain all the additional information from serializing needed to make the archived type from the normal type. Read more
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Always returns true
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Auto Trait Implementations
impl RefUnwindSafe for Span
impl UnwindSafe for Span
Blanket Implementations
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Converts some archived metadata to the pointer metadata for itself.
The archived counterpart of this type. Unlike Archive
, it may be unsized. Read more
type MetadataResolver = ()
type MetadataResolver = ()
The resolver for the metadata of this type. Read more
pub unsafe fn resolve_metadata(
&self,
usize,
<T as ArchiveUnsized>::MetadataResolver,
*mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
)
pub unsafe fn resolve_metadata(
&self,
usize,
<T as ArchiveUnsized>::MetadataResolver,
*mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
)
Creates the archived version of the metadata for this value at the given position and writes it to the given output. Read more
Mutably borrows from an owned value. Read more
impl<F, W, T, D> Deserialize<With<T, W>, D> for F where
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for F where
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more