pub struct SourceMappingResult {
pub segments: Vec<MappingSegmentResult>,
pub generated_regions: Vec<GeneratedRegionResult>,
}Expand description
Complete source mapping information for a macro expansion.
Contains both preserved segments (original code that wasn’t modified) and generated regions (new code synthesized by macros).
§Usage
This mapping enables:
- Converting positions from original source to expanded source and vice versa
- Identifying which macro generated a given piece of code
- Mapping IDE diagnostics from expanded code back to original source
Fields§
§segments: Vec<MappingSegmentResult>Segments mapping preserved regions between original and expanded source. Sorted by position for efficient binary search lookups.
generated_regions: Vec<GeneratedRegionResult>Regions in the expanded source that were generated by macros. Used to identify synthetic code with no original source location.
Trait Implementations§
Source§impl Clone for SourceMappingResult
impl Clone for SourceMappingResult
Source§fn clone(&self) -> SourceMappingResult
fn clone(&self) -> SourceMappingResult
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl FromNapiValue for SourceMappingResult
impl FromNapiValue for SourceMappingResult
Source§unsafe fn from_napi_value(
env: napi_env,
napi_val: napi_value,
) -> Result<SourceMappingResult>
unsafe fn from_napi_value( env: napi_env, napi_val: napi_value, ) -> Result<SourceMappingResult>
Safety Read more
fn from_unknown(value: Unknown<'_>) -> Result<Self, Error>
Source§impl ToNapiValue for SourceMappingResult
impl ToNapiValue for SourceMappingResult
Source§unsafe fn to_napi_value(
env: napi_env,
val: SourceMappingResult,
) -> Result<napi_value>
unsafe fn to_napi_value( env: napi_env, val: SourceMappingResult, ) -> Result<napi_value>
Safety Read more
fn into_unknown(self, env: &Env) -> Result<Unknown<'_>, Error>
Source§impl TypeName for SourceMappingResult
impl TypeName for SourceMappingResult
Source§impl ValidateNapiValue for SourceMappingResult
impl ValidateNapiValue for SourceMappingResult
Source§unsafe fn validate(
env: *mut napi_env__,
napi_val: *mut napi_value__,
) -> Result<*mut napi_value__, Error>
unsafe fn validate( env: *mut napi_env__, napi_val: *mut napi_value__, ) -> Result<*mut napi_value__, Error>
Safety Read more
Auto Trait Implementations§
impl Freeze for SourceMappingResult
impl RefUnwindSafe for SourceMappingResult
impl Send for SourceMappingResult
impl Sync for SourceMappingResult
impl Unpin for SourceMappingResult
impl UnwindSafe for SourceMappingResult
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)Source§impl<T> ImplicitClone for Twhere
T: Clone,
impl<T> ImplicitClone for Twhere
T: Clone,
fn clone_quote_var(&self) -> Self
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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