pub struct FunctionInlinerRewriter<'db> { /* private fields */ }
Expand description
A rewriter that inlines functions annotated with #[inline(always)].
Implementations§
source§impl<'db> FunctionInlinerRewriter<'db>
impl<'db> FunctionInlinerRewriter<'db>
sourcepub fn inline_function(
&mut self,
function_id: ConcreteFunctionWithBodyId,
inputs: &[VariableId],
outputs: &[VariableId]
) -> Maybe<()>
pub fn inline_function( &mut self, function_id: ConcreteFunctionWithBodyId, inputs: &[VariableId], outputs: &[VariableId] ) -> Maybe<()>
Inlines the given function, with the given input and output variables.
The statements that need to replace the call statement in the original block
are pushed into the statement_rewrite_stack
.
May also push additional blocks to the block queue.
The function takes an optional return block id to handle early returns.
Auto Trait Implementations§
impl<'db> !RefUnwindSafe for FunctionInlinerRewriter<'db>
impl<'db> !Send for FunctionInlinerRewriter<'db>
impl<'db> !Sync for FunctionInlinerRewriter<'db>
impl<'db> Unpin for FunctionInlinerRewriter<'db>
impl<'db> !UnwindSafe for FunctionInlinerRewriter<'db>
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