File tree Expand file tree Collapse file tree 2 files changed +11
-2
lines changed
src/solvers/smt2_incremental Expand file tree Collapse file tree 2 files changed +11
-2
lines changed Original file line number Diff line number Diff line change @@ -268,7 +268,7 @@ void smt2_incremental_decision_proceduret::ensure_handle_for_expr_defined(
268
268
return ;
269
269
}
270
270
271
- const exprt lowered_expr = lower_byte_operators (in_expr, ns );
271
+ const exprt lowered_expr = lower (in_expr);
272
272
273
273
define_dependent_functions (lowered_expr);
274
274
smt_define_function_commandt function{
@@ -514,7 +514,7 @@ void smt2_incremental_decision_proceduret::set_to(
514
514
const exprt &in_expr,
515
515
bool value)
516
516
{
517
- const exprt lowered_expr = lower_byte_operators (in_expr, ns );
517
+ const exprt lowered_expr = lower (in_expr);
518
518
PRECONDITION (can_cast_type<bool_typet>(lowered_expr.type ()));
519
519
log.conditional_output (log.debug (), [&](messaget::mstreamt &debug) {
520
520
debug << " `set_to` (" << std::string{value ? " true" : " false" } << " ) -\n "
@@ -587,6 +587,11 @@ void smt2_incremental_decision_proceduret::define_object_properties()
587
587
}
588
588
}
589
589
590
+ exprt smt2_incremental_decision_proceduret::lower (exprt expression)
591
+ {
592
+ return lower_byte_operators (expression, ns);
593
+ }
594
+
590
595
decision_proceduret::resultt smt2_incremental_decision_proceduret::dec_solve ()
591
596
{
592
597
++number_of_solver_calls;
Original file line number Diff line number Diff line change @@ -93,6 +93,10 @@ class smt2_incremental_decision_proceduret final
93
93
// / Sends the solver the definitions of the object sizes and dynamic memory
94
94
// / statuses.
95
95
void define_object_properties ();
96
+ // / Performs a combination of transformations which reduces the set of
97
+ // / possible expression forms by expressing these in terms of the remaining
98
+ // / language features.
99
+ exprt lower (exprt expression);
96
100
97
101
// / Namespace for looking up the expressions which symbol_exprts relate to.
98
102
// / This includes the symbols defined outside of the decision procedure but
You can’t perform that action at this time.
0 commit comments