Skip to content

Commit 6f20646

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 18be548 commit 6f20646

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

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

src/goto-harness/recursive_initialization.h

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

3739
/// Class for generating initialisation code

0 commit comments

Comments
 (0)