Skip to content

Commit 9ac5dff

Browse files
authored
Merge pull request #1051 from smowton/smowton/fix/strings_debug_output
Always pass namespace to from_expr
2 parents fbe8be8 + bc968b0 commit 9ac5dff

File tree

1 file changed

+31
-30
lines changed

1 file changed

+31
-30
lines changed

src/solvers/refinement/string_refinement.cpp

+31-30
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ void string_refinementt::display_index_set()
7272
for(const auto &i : index_set)
7373
{
7474
const exprt &s=i.first;
75-
debug() << "IS(" << from_expr(s) << ")=={" << eom;
75+
debug() << "IS(" << from_expr(ns, "", s) << ")=={" << eom;
7676

7777
for(auto j : i.second)
7878
{
@@ -81,7 +81,7 @@ void string_refinementt::display_index_set()
8181
count_current++;
8282
debug() << "**";
8383
}
84-
debug() << " " << from_expr(j) << ";" << eom;
84+
debug() << " " << from_expr(ns, "", j) << ";" << eom;
8585
count++;
8686
}
8787
debug() << "}" << eom;
@@ -99,10 +99,10 @@ void string_refinementt::add_instantiations()
9999
for(const auto &i : current_index_set)
100100
{
101101
const exprt &s=i.first;
102-
debug() << "IS(" << from_expr(s) << ")=={";
102+
debug() << "IS(" << from_expr(ns, "", s) << ")=={";
103103

104104
for(const auto &j : i.second)
105-
debug() << from_expr(j) << "; ";
105+
debug() << from_expr(ns, "", j) << "; ";
106106
debug() << "}" << eom;
107107

108108
for(const auto &j : i.second)
@@ -227,7 +227,7 @@ bool string_refinementt::add_axioms_for_string_assigns(
227227
else
228228
{
229229
debug() << "string_refinement warning: not handling char_array: "
230-
<< from_expr(rhs) << eom;
230+
<< from_expr(ns, "", rhs) << eom;
231231
return true;
232232
}
233233
}
@@ -291,7 +291,7 @@ void string_refinementt::concretize_string(const exprt &expr)
291291
mp_index>=concretize_limit)
292292
{
293293
debug() << "concretize_string: ignoring out of bound index: "
294-
<< from_expr(simple_i) << eom;
294+
<< from_expr(ns, "", simple_i) << eom;
295295
}
296296
else
297297
{
@@ -311,8 +311,8 @@ void string_refinementt::concretize_string(const exprt &expr)
311311

312312
array_exprt arr(to_array_type(content.type()));
313313
arr.operands()=result;
314-
debug() << "Concretized " << from_expr(content_expr)
315-
<< " = " << from_expr(arr) << eom;
314+
debug() << "Concretized " << from_expr(ns, "", content_expr)
315+
<< " = " << from_expr(ns, "", arr) << eom;
316316
found_content[content]=arr;
317317
}
318318
}
@@ -371,7 +371,7 @@ void string_refinementt::set_to(const exprt &expr, bool value)
371371
if(eq_expr.lhs().type()!=eq_expr.rhs().type())
372372
{
373373
debug() << "(sr::set_to) WARNING: ignoring "
374-
<< from_expr(expr) << " [inconsistent types]" << eom;
374+
<< from_expr(ns, "", expr) << " [inconsistent types]" << eom;
375375
debug() << "lhs has type: " << eq_expr.lhs().type().pretty(12) << eom;
376376
debug() << "rhs has type: " << eq_expr.rhs().type().pretty(12) << eom;
377377
return;
@@ -393,7 +393,7 @@ void string_refinementt::set_to(const exprt &expr, bool value)
393393
if(lhs.id()!=ID_symbol)
394394
{
395395
debug() << "(sr::set_to) WARNING: ignoring "
396-
<< from_expr(expr) << eom;
396+
<< from_expr(ns, "", expr) << eom;
397397
return;
398398
}
399399

@@ -405,7 +405,7 @@ void string_refinementt::set_to(const exprt &expr, bool value)
405405
eq_expr.lhs().type().subtype() != subst_rhs.type().subtype())
406406
{
407407
debug() << "(sr::set_to) WARNING: ignoring "
408-
<< from_expr(expr) << " [inconsistent types after substitution]"
408+
<< from_expr(ns, "", expr) << " [inconsistent types after substitution]"
409409
<< eom;
410410
return;
411411
}
@@ -602,7 +602,7 @@ void string_refinementt::add_lemma(
602602
return;
603603
}
604604

605-
debug() << "adding lemma " << from_expr(simple_lemma) << eom;
605+
debug() << "adding lemma " << from_expr(ns, "", simple_lemma) << eom;
606606

607607
prop.l_set_to_true(convert(simple_lemma));
608608
}
@@ -626,7 +626,7 @@ exprt string_refinementt::get_array(const exprt &arr, const exprt &size) const
626626
{
627627
#if 0
628628
debug() << "(sr::get_array) string of unknown size: "
629-
<< from_expr(size_val) << eom;
629+
<< from_expr(ns, "", size_val) << eom;
630630
#endif
631631
return empty_ret;
632632
}
@@ -699,7 +699,7 @@ exprt string_refinementt::get_array(const exprt &arr, const exprt &size) const
699699
else
700700
{
701701
#if 0
702-
debug() << "unable to get array-list value of " << from_expr(arr)
702+
debug() << "unable to get array-list value of " << from_expr(ns, "", arr)
703703
<< " of size " << n << eom;
704704
#endif
705705
return array_of_exprt(from_integer(0, char_type), ret_type);
@@ -787,14 +787,14 @@ void string_refinementt::fill_model()
787787

788788
current_model[elength]=len;
789789
current_model[econtent]=arr;
790-
debug() << from_expr(to_symbol_expr(it.first)) << "="
791-
<< from_expr(refined);
790+
debug() << from_expr(ns, "", to_symbol_expr(it.first)) << "="
791+
<< from_expr(ns, "", refined);
792792

793793
if(arr.id()==ID_array)
794794
debug() << " = \"" << string_of_array(to_array_expr(arr))
795-
<< "\" (size:" << from_expr(len) << ")"<< eom;
795+
<< "\" (size:" << from_expr(ns, "", len) << ")"<< eom;
796796
else
797-
debug() << " = " << from_expr(arr) << " (size:" << from_expr(len)
797+
debug() << " = " << from_expr(ns, "", arr) << " (size:" << from_expr(ns, "", len)
798798
<< ")" << eom;
799799
}
800800
else
@@ -806,22 +806,22 @@ void string_refinementt::fill_model()
806806
exprt arr_model=get_array(arr);
807807
current_model[it.first]=arr_model;
808808

809-
debug() << from_expr(to_symbol_expr(it.first)) << "="
810-
<< from_expr(arr) << " = " << from_expr(arr_model) << "" << eom;
809+
debug() << from_expr(ns, "", to_symbol_expr(it.first)) << "="
810+
<< from_expr(ns, "", arr) << " = " << from_expr(ns, "", arr_model) << "" << eom;
811811
}
812812
}
813813

814814
for(auto it : generator.boolean_symbols)
815815
{
816816
debug() << "" << it.get_identifier() << " := "
817-
<< from_expr(supert::get(it)) << eom;
817+
<< from_expr(ns, "", supert::get(it)) << eom;
818818
current_model[it]=supert::get(it);
819819
}
820820

821821
for(auto it : generator.index_symbols)
822822
{
823823
debug() << "" << it.get_identifier() << " := "
824-
<< from_expr(supert::get(it)) << eom;
824+
<< from_expr(ns, "", supert::get(it)) << eom;
825825
current_model[it]=supert::get(it);
826826
}
827827
}
@@ -956,7 +956,7 @@ void string_refinementt::add_negation_of_constraint_to_solver(
956956
and_exprt premise(axiom.premise(), axiom.univ_within_bounds());
957957
and_exprt negaxiom(premise, not_exprt(axiom.body()));
958958

959-
debug() << "(sr::check_axioms) negated axiom: " << from_expr(negaxiom) << eom;
959+
debug() << "(sr::check_axioms) negated axiom: " << from_expr(ns, "", negaxiom) << eom;
960960
substitute_array_access(negaxiom);
961961
solver << negaxiom;
962962
}
@@ -1000,7 +1000,7 @@ bool string_refinementt::check_axioms()
10001000
exprt val=solver.get(axiom_in_model.univ_var());
10011001
debug() << "string constraint can be violated for "
10021002
<< axiom_in_model.univ_var().get_identifier()
1003-
<< " = " << from_expr(val) << eom;
1003+
<< " = " << from_expr(ns, "", val) << eom;
10041004
violated[i]=val;
10051005
}
10061006
break;
@@ -1047,7 +1047,7 @@ bool string_refinementt::check_axioms()
10471047
implies_exprt instance(premise, body);
10481048
replace_expr(symbol_resolve, instance);
10491049
replace_expr(axiom.univ_var(), val, instance);
1050-
debug() << "adding counter example " << from_expr(instance) << eom;
1050+
debug() << "adding counter example " << from_expr(ns, "", instance) << eom;
10511051
add_lemma(instance);
10521052
}
10531053
}
@@ -1282,8 +1282,8 @@ void string_refinementt::add_to_index_set(const exprt &s, exprt i)
12821282
}
12831283
if(index_set[s].insert(i).second)
12841284
{
1285-
debug() << "adding to index set of " << from_expr(s)
1286-
<< ": " << from_expr(i) << eom;
1285+
debug() << "adding to index set of " << from_expr(ns, "", s)
1286+
<< ": " << from_expr(ns, "", i) << eom;
12871287
current_index_set[s].insert(i);
12881288
}
12891289
}
@@ -1429,15 +1429,16 @@ void string_refinementt::instantiate_not_contains(
14291429
exprt s0=axiom.s0();
14301430
exprt s1=axiom.s1();
14311431

1432-
debug() << "instantiate not contains " << from_expr(s0) << " : "
1433-
<< from_expr(s1) << eom;
1432+
debug() << "instantiate not contains " << from_expr(ns, "", s0) << " : "
1433+
<< from_expr(ns, "", s1) << eom;
14341434
expr_sett index_set0=index_set[to_string_expr(s0).content()];
14351435
expr_sett index_set1=index_set[to_string_expr(s1).content()];
14361436

14371437
for(auto it0 : index_set0)
14381438
for(auto it1 : index_set1)
14391439
{
1440-
debug() << from_expr(it0) << " : " << from_expr(it1) << eom;
1440+
debug() << from_expr(ns, "", it0) << " : " << from_expr(ns, "", it1)
1441+
<< eom;
14411442
exprt val=minus_exprt(it0, it1);
14421443
exprt witness=generator.get_witness_of(axiom, val);
14431444
and_exprt prem_and_is_witness(

0 commit comments

Comments
 (0)