@@ -16,6 +16,7 @@ use std::path::{Path, PathBuf};
16
16
17
17
pub struct Driver {
18
18
context : Context ,
19
+ language : Language ,
19
20
}
20
21
21
22
#[ derive( Debug , Serialize , Deserialize , Clone ) ]
@@ -25,8 +26,8 @@ pub struct CompiledProgram {
25
26
}
26
27
27
28
impl Driver {
28
- pub fn new ( np_language : & acvm :: Language ) -> Self {
29
- let mut driver = Driver { context : Context :: default ( ) } ;
29
+ pub fn new ( np_language : & Language ) -> Self {
30
+ let mut driver = Driver { context : Context :: default ( ) , language : np_language . clone ( ) } ;
30
31
driver. context . def_interner . set_language ( np_language) ;
31
32
driver
32
33
}
@@ -37,9 +38,7 @@ impl Driver {
37
38
let mut driver = Driver :: new ( & np_language) ;
38
39
driver. create_local_crate ( root_file, CrateType :: Binary ) ;
39
40
40
- driver
41
- . into_compiled_program ( np_language, false , false )
42
- . unwrap_or_else ( |_| std:: process:: exit ( 1 ) )
41
+ driver. into_compiled_program ( false , false ) . unwrap_or_else ( |_| std:: process:: exit ( 1 ) )
43
42
}
44
43
45
44
/// Compiles a file and returns true if compilation was successful
@@ -146,19 +145,17 @@ impl Driver {
146
145
147
146
pub fn into_compiled_program (
148
147
mut self ,
149
- np_language : acvm:: Language ,
150
148
show_ssa : bool ,
151
149
allow_warnings : bool ,
152
150
) -> Result < CompiledProgram , ReportedError > {
153
151
self . check_crate ( allow_warnings) ?;
154
- self . compile_no_check ( np_language , show_ssa, allow_warnings, None , true )
152
+ self . compile_no_check ( show_ssa, allow_warnings, None , true )
155
153
}
156
154
157
155
/// Compile the current crate. Assumes self.check_crate is called beforehand!
158
156
#[ allow( deprecated) ]
159
157
pub fn compile_no_check (
160
158
& self ,
161
- np_language : acvm:: Language ,
162
159
show_ssa : bool ,
163
160
allow_warnings : bool ,
164
161
// Optional override to provide a different `main` function to start execution
@@ -183,6 +180,7 @@ impl Driver {
183
180
184
181
let program = monomorphize ( main_function, & self . context . def_interner ) ;
185
182
183
+ let np_language = self . language . clone ( ) ;
186
184
let blackbox_supported = acvm:: default_is_black_box_supported ( np_language. clone ( ) ) ;
187
185
188
186
match create_circuit ( program, np_language, blackbox_supported, show_ssa, show_output) {
0 commit comments