Struct swc_common::source_map::MultiSpan
source · [−]pub struct MultiSpan { /* private fields */ }
Expand description
A collection of spans. Spans have two orthogonal attributes:
- they can be primary spans. In this case they are the locus of the error,
and would be rendered with
^^^
. - they can have a label. In this case, the label is written next to the mark in the snippet when we render.
Implementations
sourceimpl MultiSpan
impl MultiSpan
pub fn new() -> MultiSpan
pub fn from_span(primary_span: Span) -> MultiSpan
pub fn from_spans(vec: Vec<Span>) -> MultiSpan
pub fn push_span_label(&mut self, span: Span, label: String)
sourcepub fn primary_span(&self) -> Option<Span>
pub fn primary_span(&self) -> Option<Span>
Selects the first primary span (if any)
sourcepub fn primary_spans(&self) -> &[Span]
pub fn primary_spans(&self) -> &[Span]
Returns all primary spans.
sourcepub fn is_dummy(&self) -> bool
pub fn is_dummy(&self) -> bool
Returns true
if this contains only a dummy primary span with any
hygienic context.
sourcepub fn replace(&mut self, before: Span, after: Span) -> bool
pub fn replace(&mut self, before: Span, after: Span) -> bool
Replaces all occurrences of one Span with another. Used to move Spans in areas that don’t display well (like std macros). Returns true if replacements occurred.
sourcepub fn span_labels(&self) -> Vec<SpanLabel>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
pub fn span_labels(&self) -> Vec<SpanLabel>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
Returns the strings to highlight. We always ensure that there
is an entry for each of the primary spans – for each primary
span P, if there is at least one label with span P, we return
those labels (marked as primary). But otherwise we return
SpanLabel
instances with empty labels.
Trait Implementations
sourceimpl Archive for MultiSpan where
Vec<Span>: Archive,
Vec<(Span, String)>: Archive,
impl Archive for MultiSpan where
Vec<Span>: Archive,
Vec<(Span, String)>: Archive,
type Archived = ArchivedMultiSpan
type Archived = ArchivedMultiSpan
The archived representation of this type. Read more
type Resolver = MultiSpanResolver
type Resolver = MultiSpanResolver
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
sourceimpl<'de> Deserialize<'de> for MultiSpan
impl<'de> Deserialize<'de> for MultiSpan
sourcefn 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
sourceimpl<__D: Fallible + ?Sized> Deserialize<MultiSpan, __D> for Archived<MultiSpan> where
Vec<Span>: Archive,
Archived<Vec<Span>>: Deserialize<Vec<Span>, __D>,
Vec<(Span, String)>: Archive,
Archived<Vec<(Span, String)>>: Deserialize<Vec<(Span, String)>, __D>,
impl<__D: Fallible + ?Sized> Deserialize<MultiSpan, __D> for Archived<MultiSpan> where
Vec<Span>: Archive,
Archived<Vec<Span>>: Deserialize<Vec<Span>, __D>,
Vec<(Span, String)>: Archive,
Archived<Vec<(Span, String)>>: Deserialize<Vec<(Span, String)>, __D>,
sourceimpl<__S: Fallible + ?Sized> Serialize<__S> for MultiSpan where
Vec<Span>: Serialize<__S>,
Vec<(Span, String)>: Serialize<__S>,
impl<__S: Fallible + ?Sized> Serialize<__S> for MultiSpan where
Vec<Span>: Serialize<__S>,
Vec<(Span, String)>: Serialize<__S>,
impl Eq for MultiSpan
impl StructuralEq for MultiSpan
impl StructuralPartialEq for MultiSpan
Auto Trait Implementations
impl RefUnwindSafe for MultiSpan
impl Send for MultiSpan
impl Sync for MultiSpan
impl Unpin for MultiSpan
impl UnwindSafe for MultiSpan
Blanket Implementations
sourceimpl<T> ArchivePointee for T
impl<T> ArchivePointee for T
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
sourcefn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
sourceimpl<T> ArchiveUnsized for T where
T: Archive,
impl<T> ArchiveUnsized for T where
T: Archive,
type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
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
sourceunsafe fn resolve_metadata(
&self,
usize,
<T as ArchiveUnsized>::MetadataResolver,
*mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
)
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
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
sourceimpl<T> CallHasher for T where
T: Hash + ?Sized,
impl<T> CallHasher for T where
T: Hash + ?Sized,
sourceimpl<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,
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T, S> SerializeUnsized<S> for T where
T: Serialize<S>,
S: Serializer + ?Sized,
impl<T, S> SerializeUnsized<S> for T where
T: Serialize<S>,
S: Serializer + ?Sized,
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more