pub struct State<'a, 'b, 'c> {
pub module: &'a mut Module<'b>,
pub func: &'c mut FunctionBody,
pub scratch: Memory,
pub block_stack: NonEmpty<Block>,
pub ids: Vec<Func>,
pub storage: BTreeSet<Interface>,
}Fields§
§module: &'a mut Module<'b>§func: &'c mut FunctionBody§scratch: Memory§block_stack: NonEmpty<Block>§ids: Vec<Func>§storage: BTreeSet<Interface>Implementations§
Trait Implementations§
Source§impl<'a, 'b, 'c> Bindgen for State<'a, 'b, 'c>
impl<'a, 'b, 'c> Bindgen for State<'a, 'b, 'c>
Source§fn emit(
&mut self,
resolve: &Resolve,
inst: &Instruction<'_>,
operands: &mut Vec<Self::Operand>,
results: &mut Vec<Self::Operand>,
)
fn emit( &mut self, resolve: &Resolve, inst: &Instruction<'_>, operands: &mut Vec<Self::Operand>, results: &mut Vec<Self::Operand>, )
Emit code to implement the given instruction. Read more
Source§fn return_pointer(&mut self, size: usize, align: usize) -> Self::Operand
fn return_pointer(&mut self, size: usize, align: usize) -> Self::Operand
Gets a operand reference to the return pointer area. Read more
Source§fn push_block(&mut self)
fn push_block(&mut self)
Enters a new block of code to generate code for. Read more
Source§fn finish_block(&mut self, operand: &mut Vec<Self::Operand>)
fn finish_block(&mut self, operand: &mut Vec<Self::Operand>)
Indicates to the code generator that a block is completed, and the
operand specified was the resulting value of the block. Read moreAuto Trait Implementations§
impl<'a, 'b, 'c> Freeze for State<'a, 'b, 'c>
impl<'a, 'b, 'c> RefUnwindSafe for State<'a, 'b, 'c>
impl<'a, 'b, 'c> Send for State<'a, 'b, 'c>
impl<'a, 'b, 'c> Sync for State<'a, 'b, 'c>
impl<'a, 'b, 'c> Unpin for State<'a, 'b, 'c>
impl<'a, 'b, 'c> !UnwindSafe for State<'a, 'b, 'c>
Blanket Implementations§
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
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