Skip to content

Commit bdcc2b1

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 <[email protected]> Co-authored-by: Hannes Steffenhagen <[email protected]>
1 parent 9d5688f commit bdcc2b1

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
@@ -302,3 +302,36 @@ void recursive_initializationt::initialize_dynamic_array(
302302

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

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)