pub struct WasmSourceMap {
locations: BTreeMap<usize, SourceLocation>,
}Expand description
Source locations recovered from an input Wasm module’s DWARF sections.
Wasm DWARF addresses are relative to the beginning of the code-section
payload, whereas FunctionBodyData offsets are relative to the complete
module. This map performs that translation once before parallel codegen.
Fields§
§locations: BTreeMap<usize, SourceLocation>Implementations§
Source§impl WasmSourceMap
impl WasmSourceMap
Sourcepub fn new(
module: &ModuleInfo,
translation: &ModuleTranslationState,
functions: &PrimaryMap<LocalFunctionIndex, FunctionBodyData<'_>>,
) -> Result<Self, String>
pub fn new( module: &ModuleInfo, translation: &ModuleTranslationState, functions: &PrimaryMap<LocalFunctionIndex, FunctionBodyData<'_>>, ) -> Result<Self, String>
Build a source map for all local function operators in a module.
Sourcepub fn get(&self, wasm_offset: usize) -> Option<&SourceLocation>
pub fn get(&self, wasm_offset: usize) -> Option<&SourceLocation>
Return the source location for a module-relative Wasm offset.
Sourcepub fn first_in_function(
&self,
body: &FunctionBodyData<'_>,
) -> Option<&SourceLocation>
pub fn first_in_function( &self, body: &FunctionBodyData<'_>, ) -> Option<&SourceLocation>
Return the first mapped source location in a function body.
Trait Implementations§
Source§impl Default for WasmSourceMap
impl Default for WasmSourceMap
Source§fn default() -> WasmSourceMap
fn default() -> WasmSourceMap
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for WasmSourceMap
impl RefUnwindSafe for WasmSourceMap
impl Send for WasmSourceMap
impl Sync for WasmSourceMap
impl Unpin for WasmSourceMap
impl UnsafeUnpin for WasmSourceMap
impl UnwindSafe for WasmSourceMap
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.
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
§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§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2where
T: SharedNiching<N1, N2>,
N1: Niching<T>,
N2: Niching<T>,
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2where
T: SharedNiching<N1, N2>,
N1: Niching<T>,
N2: Niching<T>,
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Pointee for T
impl<T> Pointee for T
Source§impl<T> Upcastable for T
impl<T> Upcastable for T
Source§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
Source§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref