@@ -8,6 +8,11 @@ Author: Diffblue Ltd.
88
99#include " generate_function_bodies.h"
1010
11+ #include < ansi-c/c_nondet_symbol_factory.h>
12+ #include < ansi-c/c_object_factory_parameters.h>
13+
14+ #include < goto-programs/goto_convert.h>
15+
1116#include < util/arith_tools.h>
1217#include < util/format_expr.h>
1318#include < util/make_unique.h>
@@ -153,11 +158,13 @@ class havoc_generate_function_bodiest : public generate_function_bodiest,
153158 havoc_generate_function_bodiest (
154159 std::vector<irep_idt> globals_to_havoc,
155160 std::regex parameters_to_havoc,
161+ const c_object_factory_parameterst &object_factory_parameters,
156162 message_handlert &message_handler)
157163 : generate_function_bodiest(),
158164 messaget (message_handler),
159165 globals_to_havoc(std::move(globals_to_havoc)),
160- parameters_to_havoc(std::move(parameters_to_havoc))
166+ parameters_to_havoc(std::move(parameters_to_havoc)),
167+ object_factory_parameters(object_factory_parameters)
161168 {
162169 }
163170
@@ -318,6 +325,7 @@ class havoc_generate_function_bodiest : public generate_function_bodiest,
318325private:
319326 const std::vector<irep_idt> globals_to_havoc;
320327 std::regex parameters_to_havoc;
328+ const c_object_factory_parameterst &object_factory_parameters;
321329};
322330
323331class generate_function_bodies_errort : public std ::runtime_error
@@ -334,13 +342,17 @@ class generate_function_bodies_errort : public std::runtime_error
334342// / parameter
335343std::unique_ptr<generate_function_bodiest> generate_function_bodies_factory (
336344 const std::string &options,
345+ const c_object_factory_parameterst &object_factory_parameters,
337346 const symbol_tablet &symbol_table,
338347 message_handlert &message_handler)
339348{
340349 if (options.empty () || options == " nondet-return" )
341350 {
342351 return util_make_unique<havoc_generate_function_bodiest>(
343- std::vector<irep_idt>{}, std::regex{}, message_handler);
352+ std::vector<irep_idt>{},
353+ std::regex{},
354+ object_factory_parameters,
355+ message_handler);
344356 }
345357
346358 if (options == " assume-false" )
@@ -409,7 +421,10 @@ std::unique_ptr<generate_function_bodiest> generate_function_bodies_factory(
409421 }
410422 }
411423 return util_make_unique<havoc_generate_function_bodiest>(
412- std::move (globals_to_havoc), std::move (params_regex), message_handler);
424+ std::move (globals_to_havoc),
425+ std::move (params_regex),
426+ object_factory_parameters,
427+ message_handler);
413428 }
414429 throw generate_function_bodies_errort (" Can't parse \" " + options + " \" " );
415430}
0 commit comments