@@ -26,7 +26,7 @@ pub struct PcodeTheoryBuilder<'lib> {
2626
2727impl < ' lib > PcodeTheoryBuilder < ' lib > {
2828 // todo: this is gross
29- pub fn new ( candidates : Candidates , library : & ' lib GadgetLibrary ) -> PcodeTheoryBuilder {
29+ pub fn new ( candidates : Candidates , library : & ' lib GadgetLibrary ) -> PcodeTheoryBuilder < ' lib > {
3030 Self {
3131 templates : Default :: default ( ) ,
3232 library,
@@ -38,11 +38,11 @@ impl<'lib> PcodeTheoryBuilder<'lib> {
3838 }
3939 }
4040 pub fn build ( self , z3 : & Context ) -> Result < PcodeTheory < ModeledInstruction > , CrackersError > {
41- let modeled_templates = self . model_instructions ( z3) ? ;
42- let gadget_candidates = self . candidates . model ( z3 ) ?;
43- let j = JingleContext :: new ( z3 , self . library ) ;
41+ let jingle = JingleContext :: new ( z3, self . library ) ;
42+ let modeled_templates = self . model_instructions ( & jingle ) ?;
43+ let gadget_candidates = self . candidates . model ( & jingle ) ? ;
4444 let t = PcodeTheory :: new (
45- j ,
45+ jingle ,
4646 modeled_templates,
4747 gadget_candidates,
4848 self . preconditions ,
@@ -54,11 +54,11 @@ impl<'lib> PcodeTheoryBuilder<'lib> {
5454
5555 pub fn build_assignment < ' ctx > (
5656 & self ,
57- z3 : & ' ctx Context ,
57+ jingle : & JingleContext < ' ctx > ,
5858 slot_assignments : SlotAssignments ,
5959 ) -> Result < PcodeAssignment < ' ctx > , CrackersError > {
60- let modeled_templates: Vec < ModeledInstruction < ' ctx > > = self . model_instructions ( z3 ) ?;
61- let gadget_candidates: Vec < Vec < ModeledBlock < ' ctx > > > = self . candidates . model ( z3 ) ?;
60+ let modeled_templates: Vec < ModeledInstruction < ' ctx > > = self . model_instructions ( jingle ) ?;
61+ let gadget_candidates: Vec < Vec < ModeledBlock < ' ctx > > > = self . candidates . model ( jingle ) ?;
6262 let selected_candidates: Vec < ModeledBlock < ' ctx > > = slot_assignments
6363 . choices ( )
6464 . iter ( )
@@ -104,11 +104,11 @@ impl<'lib> PcodeTheoryBuilder<'lib> {
104104
105105 fn model_instructions < ' ctx > (
106106 & self ,
107- z3 : & ' ctx Context ,
107+ jingle : & JingleContext < ' ctx > ,
108108 ) -> Result < Vec < ModeledInstruction < ' ctx > > , CrackersError > {
109109 let mut modeled_templates = vec ! [ ] ;
110110 for template in & self . templates {
111- modeled_templates. push ( ModeledInstruction :: new ( template. clone ( ) , self . library , z3 ) ?) ;
111+ modeled_templates. push ( ModeledInstruction :: new ( template. clone ( ) , jingle ) ?) ;
112112 }
113113 Ok ( modeled_templates)
114114 }
0 commit comments