@@ -96,29 +96,34 @@ string_refinementt::string_refinementt(const infot &info):
96
96
string_refinementt(info, validate(info)) { }
97
97
98
98
// / display the current index set, for debugging
99
- void string_refinementt::display_index_set ()
99
+ static void display_index_set (
100
+ const messaget& message,
101
+ const namespacet& ns,
102
+ const std::map<exprt, std::set<exprt>>& current_index_set,
103
+ const std::map<exprt, std::set<exprt>>& index_set)
100
104
{
101
105
std::size_t count=0 ;
102
106
std::size_t count_current=0 ;
103
107
for (const auto &i : index_set)
104
108
{
105
109
const exprt &s=i.first ;
106
- debug () << " IS(" << from_expr (ns, " " , s) << " )=={" << eom;
110
+ message. debug () << " IS(" << from_expr (ns, " " , s) << " )=={" << message. eom ;
107
111
108
112
for (auto j : i.second )
109
113
{
110
- if (current_index_set[i.first ].find (j)!=current_index_set[i.first ].end ())
114
+ const auto it=current_index_set.find (i.first );
115
+ if (it!=current_index_set.end () && it->second .find (j)!=it->second .end ())
111
116
{
112
117
count_current++;
113
- debug () << " **" ;
118
+ message. debug () << " **" ;
114
119
}
115
- debug () << " " << from_expr (ns, " " , j) << " ;" << eom;
120
+ message. debug () << " " << from_expr (ns, " " , j) << " ;" << message. eom ;
116
121
count++;
117
122
}
118
- debug () << " }" << eom;
123
+ message. debug () << " }" << message. eom ;
119
124
}
120
- debug () << count << " elements in index set (" << count_current
121
- << " newly added)" << eom;
125
+ message. debug () << count << " elements in index set (" << count_current
126
+ << " newly added)" << message. eom ;
122
127
}
123
128
124
129
// / compute the index set for all formulas, instantiate the formulas with the
@@ -592,7 +597,7 @@ decision_proceduret::resultt string_refinementt::dec_solve()
592
597
}
593
598
}
594
599
595
- display_index_set ();
600
+ display_index_set (* this , ns, current_index_set, index_set );
596
601
debug ()<< " instantiating NOT_CONTAINS constraints" << eom;
597
602
for (unsigned i=0 ; i<not_contains_axioms.size (); i++)
598
603
{
0 commit comments