pub struct ReplacementBuilder { /* private fields */ }
Expand description
A builder for a Replacement
.
Implementations§
Source§impl ReplacementBuilder
impl ReplacementBuilder
Sourcepub fn assignment(
&mut self,
name: Option<String>,
type: Option<Type>,
value: impl Into<AssignmentRhs>,
attributes: Vec<Attribute>,
) -> ValueId
pub fn assignment( &mut self, name: Option<String>, type: Option<Type>, value: impl Into<AssignmentRhs>, attributes: Vec<Attribute>, ) -> ValueId
Create a new assignment statement.
Returns the value defined by the assignment.
§Panics
Panics if name
(when given) does not start with ‘%’.
Sourcepub fn block(&mut self, name: Option<String>, predecessors: u32) -> BlockId
pub fn block(&mut self, name: Option<String>, predecessors: u32) -> BlockId
Create a new basic block.
Declare that the block has predecessors
number of incoming edges in
the control-flow graph.
§Panics
Panics if name
(when given) does not start with ‘%’.
Sourcepub fn pc(&mut self, x: impl Into<Operand>, y: impl Into<Operand>)
pub fn pc(&mut self, x: impl Into<Operand>, y: impl Into<Operand>)
Create a path condition.
Expresses the fact that x
must equal y
for the replacement to be
valid.
Sourcepub fn block_pc(
&mut self,
block: BlockId,
predecessor: u32,
x: impl Into<Operand>,
y: impl Into<Operand>,
)
pub fn block_pc( &mut self, block: BlockId, predecessor: u32, x: impl Into<Operand>, y: impl Into<Operand>, )
Create a block path condition.
Expresses that x
is equal to y
on an incoming edge to block
in the
control-flow graph.
§Panics
Panics if predecessor
is greater than or equal to block
’s number of
predecessors.
Sourcepub fn finish(
self,
lhs: ValueId,
rhs: impl Into<Operand>,
attributes: impl IntoIterator<Item = RootAttribute>,
) -> Replacement
pub fn finish( self, lhs: ValueId, rhs: impl Into<Operand>, attributes: impl IntoIterator<Item = RootAttribute>, ) -> Replacement
Finish building this replacement by providing the left- and right-hand sides.
Trait Implementations§
Source§impl Clone for ReplacementBuilder
impl Clone for ReplacementBuilder
Source§fn clone(&self) -> ReplacementBuilder
fn clone(&self) -> ReplacementBuilder
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for ReplacementBuilder
impl Debug for ReplacementBuilder
Source§impl Default for ReplacementBuilder
impl Default for ReplacementBuilder
Source§fn default() -> ReplacementBuilder
fn default() -> ReplacementBuilder
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ReplacementBuilder
impl RefUnwindSafe for ReplacementBuilder
impl Send for ReplacementBuilder
impl Sync for ReplacementBuilder
impl Unpin for ReplacementBuilder
impl UnwindSafe for ReplacementBuilder
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)