@@ -46,6 +46,7 @@ pub struct Lucetc {
4646 pk : Option < PublicKey > ,
4747 sign : bool ,
4848 verify : bool ,
49+ translate_wat : bool ,
4950}
5051
5152pub trait AsLucetc {
@@ -104,6 +105,8 @@ pub trait LucetcOpts {
104105 fn with_count_instructions ( self , enable_count : bool ) -> Self ;
105106 fn canonicalize_nans ( & mut self , enable_canonicalize_nans : bool ) ;
106107 fn with_canonicalize_nans ( self , enable_canonicalize_nans : bool ) -> Self ;
108+ fn translate_wat ( & mut self , enable_translate_wat : bool ) ;
109+ fn with_translate_wat ( self , enable_translate_wat : bool ) -> Self ;
107110}
108111
109112impl < T : AsLucetc > LucetcOpts for T {
@@ -258,6 +261,14 @@ impl<T: AsLucetc> LucetcOpts for T {
258261 self . canonicalize_nans ( enable_nans_canonicalization) ;
259262 self
260263 }
264+ fn translate_wat ( & mut self , enable_translate_wat : bool ) {
265+ self . as_lucetc ( ) . translate_wat = enable_translate_wat;
266+ }
267+
268+ fn with_translate_wat ( mut self , enable_translate_wat : bool ) -> Self {
269+ self . translate_wat ( enable_translate_wat) ;
270+ self
271+ }
261272}
262273
263274impl Lucetc {
@@ -271,6 +282,7 @@ impl Lucetc {
271282 sk : None ,
272283 sign : false ,
273284 verify : false ,
285+ translate_wat : true ,
274286 }
275287 }
276288
@@ -284,13 +296,16 @@ impl Lucetc {
284296 sk : None ,
285297 sign : false ,
286298 verify : false ,
299+ translate_wat : false ,
287300 } )
288301 }
289302
290303 fn build ( & self ) -> Result < ( Vec < u8 > , Bindings ) , Error > {
291304 let module_binary = match & self . input {
292305 LucetcInput :: Bytes ( bytes) => bytes. clone ( ) ,
293- LucetcInput :: Path ( path) => read_module ( & path, & self . pk , self . verify ) ?,
306+ LucetcInput :: Path ( path) => {
307+ read_module ( & path, & self . pk , self . verify , self . translate_wat ) ?
308+ }
294309 } ;
295310
296311 // Collect set of Bindings into a single Bindings:
0 commit comments