pub trait InstBuilderBase<'f>: Sized {
// Required methods
fn data_flow_graph(&self) -> &DataFlowGraph;
fn data_flow_graph_mut(&mut self) -> &mut DataFlowGraph;
fn build(
self,
data: InstructionData,
ctrl_typevar: Type,
) -> (Inst, &'f mut DataFlowGraph);
}
Expand description
Base trait for instruction builders.
The InstBuilderBase
trait provides the basic functionality required by the methods of the
generated InstBuilder
trait. These methods should not normally be used directly. Use the
methods in the InstBuilder
trait instead.
Any data type that implements InstBuilderBase
also gets all the methods of the InstBuilder
trait.
Required Methods§
sourcefn data_flow_graph(&self) -> &DataFlowGraph
fn data_flow_graph(&self) -> &DataFlowGraph
Get an immutable reference to the data flow graph that will hold the constructed instructions.
sourcefn data_flow_graph_mut(&mut self) -> &mut DataFlowGraph
fn data_flow_graph_mut(&mut self) -> &mut DataFlowGraph
Get a mutable reference to the data flow graph that will hold the constructed instructions.
sourcefn build(
self,
data: InstructionData,
ctrl_typevar: Type,
) -> (Inst, &'f mut DataFlowGraph)
fn build( self, data: InstructionData, ctrl_typevar: Type, ) -> (Inst, &'f mut DataFlowGraph)
Insert an instruction and return a reference to it, consuming the builder.
The result types may depend on a controlling type variable. For non-polymorphic
instructions with multiple results, pass INVALID
for the ctrl_typevar
argument.