pub struct Context { /* private fields */ }
Expand description

State of the externref pass, used to collect information while bindings are generated and used eventually to actually execute the entire pass.

Implementations§

source§

impl Context

source

pub fn prepare(&mut self, module: &mut Module) -> Result<(), Error>

Executed first very early over a wasm module, used to learn about how large the function table is so we know what indexes to hand out when we’re appending entries.

source

pub fn import_xform( &mut self, id: ImportId, externref: &[(usize, bool)], ret_externref: bool ) -> &mut Self

Store information about an imported function that needs to be transformed. The actual transformation happens later during run.

source

pub fn export_xform( &mut self, id: ExportId, externref: &[(usize, bool)], ret_externref: bool ) -> &mut Self

Store information about an exported function that needs to be transformed. The actual transformation happens later during run.

source

pub fn table_element_xform( &mut self, idx: u32, externref: &[(usize, bool)], ret_externref: bool ) -> Option<u32>

Store information about a function pointer that needs to be transformed. The actual transformation happens later during run. Returns an index that the new wrapped function pointer will be injected at.

source

pub fn run(&mut self, module: &mut Module) -> Result<Meta, Error>

Trait Implementations§

source§

impl Default for Context

source§

fn default() -> Context

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.