feat: generate_test doesn't need arguments
This commit is contained in:
parent
74c61358ab
commit
2dbc50f098
|
@ -20,8 +20,8 @@ use uplc::{
|
||||||
use crate::{
|
use crate::{
|
||||||
air::Air,
|
air::Air,
|
||||||
ast::{
|
ast::{
|
||||||
ArgName, AssignmentKind, BinOp, Pattern, Span, TypedArg, TypedClause, TypedDataType,
|
ArgName, AssignmentKind, BinOp, Pattern, Span, TypedClause, TypedDataType, TypedFunction,
|
||||||
TypedFunction, TypedValidator, UnOp,
|
TypedValidator, UnOp,
|
||||||
},
|
},
|
||||||
builder::{
|
builder::{
|
||||||
check_replaceable_opaque_type, check_when_pattern_needs, constants_ir,
|
check_replaceable_opaque_type, check_when_pattern_needs, constants_ir,
|
||||||
|
@ -145,11 +145,7 @@ impl<'a> CodeGenerator<'a> {
|
||||||
self.finalize(term, true)
|
self.finalize(term, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn generate_test(
|
pub fn generate_test(&mut self, test_body: &TypedExpr) -> Program<Name> {
|
||||||
&mut self,
|
|
||||||
test_body: &TypedExpr,
|
|
||||||
arguments: &[TypedArg],
|
|
||||||
) -> Program<Name> {
|
|
||||||
let mut ir_stack = vec![];
|
let mut ir_stack = vec![];
|
||||||
let scope = vec![self.id_gen.next()];
|
let scope = vec![self.id_gen.next()];
|
||||||
|
|
||||||
|
@ -167,8 +163,6 @@ impl<'a> CodeGenerator<'a> {
|
||||||
term = builder::constr_fields_exposer(term);
|
term = builder::constr_fields_exposer(term);
|
||||||
}
|
}
|
||||||
|
|
||||||
term = wrap_validator_args(term, arguments);
|
|
||||||
|
|
||||||
self.finalize(term, false)
|
self.finalize(term, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -675,12 +675,7 @@ where
|
||||||
let mut programs = Vec::new();
|
let mut programs = Vec::new();
|
||||||
|
|
||||||
for (input_path, module_name, func_def) in scripts {
|
for (input_path, module_name, func_def) in scripts {
|
||||||
let Function {
|
let Function { name, body, .. } = func_def;
|
||||||
arguments,
|
|
||||||
name,
|
|
||||||
body,
|
|
||||||
..
|
|
||||||
} = func_def;
|
|
||||||
|
|
||||||
if verbose {
|
if verbose {
|
||||||
self.event_listener.handle_event(Event::GeneratingUPLCFor {
|
self.event_listener.handle_event(Event::GeneratingUPLCFor {
|
||||||
|
@ -695,30 +690,27 @@ where
|
||||||
&self.module_types,
|
&self.module_types,
|
||||||
);
|
);
|
||||||
|
|
||||||
let evaluation_hint = if let Some((bin_op, left_src, right_src)) = func_def.test_hint()
|
let evaluation_hint = func_def.test_hint().map(|(bin_op, left_src, right_src)| {
|
||||||
{
|
|
||||||
let left = generator
|
let left = generator
|
||||||
.clone()
|
.clone()
|
||||||
.generate_test(&left_src, &[])
|
.generate_test(&left_src)
|
||||||
.try_into()
|
.try_into()
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
let right = generator
|
let right = generator
|
||||||
.clone()
|
.clone()
|
||||||
.generate_test(&right_src, &[])
|
.generate_test(&right_src)
|
||||||
.try_into()
|
.try_into()
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
Some(EvalHint {
|
EvalHint {
|
||||||
bin_op,
|
bin_op,
|
||||||
left,
|
left,
|
||||||
right,
|
right,
|
||||||
})
|
}
|
||||||
} else {
|
});
|
||||||
None
|
|
||||||
};
|
|
||||||
|
|
||||||
let program = generator.generate_test(body, arguments);
|
let program = generator.generate_test(body);
|
||||||
|
|
||||||
let script = Script::new(
|
let script = Script::new(
|
||||||
input_path,
|
input_path,
|
||||||
|
|
Loading…
Reference in New Issue