pub trait StructRecomposer {
    // Required methods
    fn deconstruct(
        &mut self,
        concrete_struct_id: ConcreteStructId,
        value: VariableId
    ) -> OrderedHashMap<MemberId, VariableId>;
    fn reconstruct(
        &mut self,
        concrete_struct_id: ConcreteStructId,
        members: Vec<VariableId>
    ) -> VariableId;
    fn var_ty(&self, var: VariableId) -> TypeId;
}
Expand description

A trait for deconstructing and constructing structs.

Required Methods§

source

fn deconstruct( &mut self, concrete_struct_id: ConcreteStructId, value: VariableId ) -> OrderedHashMap<MemberId, VariableId>

source

fn reconstruct( &mut self, concrete_struct_id: ConcreteStructId, members: Vec<VariableId> ) -> VariableId

source

fn var_ty(&self, var: VariableId) -> TypeId

Implementors§