Struct swc_plugin::utils::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, Global>) -> 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, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
pub fn span_labels(&self) -> Vec<SpanLabel, Global>ⓘ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, Global>: Archive,
Vec<(Span, String), Global>: Archive,
impl Archive for MultiSpan where
Vec<Span, Global>: Archive,
Vec<(Span, String), Global>: 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<MultiSpan, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<MultiSpan, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl<__D> Deserialize<MultiSpan, __D> for <MultiSpan as Archive>::Archived where
__D: Fallible + ?Sized,
Vec<Span, Global>: Archive,
<Vec<Span, Global> as Archive>::Archived: Deserialize<Vec<Span, Global>, __D>,
Vec<(Span, String), Global>: Archive,
<Vec<(Span, String), Global> as Archive>::Archived: Deserialize<Vec<(Span, String), Global>, __D>,
impl<__D> Deserialize<MultiSpan, __D> for <MultiSpan as Archive>::Archived where
__D: Fallible + ?Sized,
Vec<Span, Global>: Archive,
<Vec<Span, Global> as Archive>::Archived: Deserialize<Vec<Span, Global>, __D>,
Vec<(Span, String), Global>: Archive,
<Vec<(Span, String), Global> as Archive>::Archived: Deserialize<Vec<(Span, String), Global>, __D>,
sourcefn deserialize(
&self,
deserializer: &mut __D
) -> Result<MultiSpan, <__D as Fallible>::Error>
fn deserialize(
&self,
deserializer: &mut __D
) -> Result<MultiSpan, <__D as Fallible>::Error>
Deserializes using the given deserializer
sourceimpl Serialize for MultiSpan
impl Serialize for MultiSpan
sourcefn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
sourceimpl<__S> Serialize<__S> for MultiSpan where
__S: Fallible + ?Sized,
Vec<Span, Global>: Serialize<__S>,
Vec<(Span, String), Global>: Serialize<__S>,
impl<__S> Serialize<__S> for MultiSpan where
__S: Fallible + ?Sized,
Vec<Span, Global>: Serialize<__S>,
Vec<(Span, String), Global>: 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
impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
fn 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.
impl<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
unsafe 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
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,
fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
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>
impl<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,
fn serialize_unsized(
&self,
serializer: &mut S
) -> Result<usize, <S as Fallible>::Error>
fn serialize_unsized(
&self,
serializer: &mut S
) -> Result<usize, <S as Fallible>::Error>
Writes the object and returns the position of the archived type.
fn serialize_metadata(&self, &mut S) -> Result<(), <S as Fallible>::Error>
fn serialize_metadata(&self, &mut S) -> Result<(), <S as Fallible>::Error>
Serializes the metadata for the given type.
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