Skip to content

Commit 635b672

Browse files
Add recursive_initialization_configt::to_string
Added a debugging helper function. It was worth keeping it around even after debugging. Co-authored-by: Fotis Koutoulakis <fotis.koutoulakis@diffblue.com> Co-authored-by: Hannes Steffenhagen <hannes.steffenhagen@diffblue.com>
1 parent d2f321d commit 635b672

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

src/goto-harness/recursive_initialization.cpp

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,3 +305,36 @@ void recursive_initializationt::initialize_dynamic_array(
305305

306306
body.add(code_assignt{pointer, index_exprt{arrays, nondet_index}});
307307
}
308+
309+
std::string recursive_initialization_configt::to_string() const
310+
{
311+
std::ostringstream out{};
312+
out << "recursive_initialization_config {"
313+
<< "\n min_null_tree_depth = " << min_null_tree_depth
314+
<< "\n max_nondet_tree_depth = " << max_nondet_tree_depth
315+
<< "\n mode = " << mode
316+
<< "\n max_dynamic_array_size = " << max_dynamic_array_size
317+
<< "\n min_dynamic_array_size = " << min_dynamic_array_size
318+
<< "\n pointers_to_treat_as_arrays = [";
319+
for(auto const &pointer : pointers_to_treat_as_arrays)
320+
{
321+
out << "\n " << pointer;
322+
}
323+
out << "\n ]"
324+
<< "\n variables_that_hold_array_sizes = [";
325+
for(auto const &array_size : variables_that_hold_array_sizes)
326+
{
327+
out << "\n " << array_size;
328+
}
329+
out << "\n ]";
330+
out << "\n array_name_to_associated_size_variable = [";
331+
for(auto const &associated_array_size :
332+
array_name_to_associated_array_size_variable)
333+
{
334+
out << "\n " << associated_array_size.first << " -> "
335+
<< associated_array_size.second;
336+
}
337+
out << "\n ]";
338+
out << "\n}";
339+
return out.str();
340+
}

src/goto-harness/recursive_initialization.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ struct recursive_initialization_configt
3131
std::set<irep_idt> pointers_to_treat_as_arrays;
3232
std::set<irep_idt> variables_that_hold_array_sizes;
3333
std::map<irep_idt, irep_idt> array_name_to_associated_array_size_variable;
34+
35+
std::string to_string() const; // for debugging purposes
3436
};
3537

3638
/// Class for generating initialisation code

0 commit comments

Comments
 (0)