CBMC
dump_loop_contracts.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Dump Loop Contracts as JSON
4 
5 Author: Qinheping Hu, qinhh@amazon.com
6 
7 \*******************************************************************/
8 
11 
12 #ifndef CPROVER_GOTO_SYNTHESIZER_DUMP_LOOP_CONTRACTS_H
13 #define CPROVER_GOTO_SYNTHESIZER_DUMP_LOOP_CONTRACTS_H
14 
15 #include "synthesizer_utils.h"
16 
17 #include <iosfwd>
18 #include <string>
19 
21  goto_modelt &goto_model,
22  const std::map<loop_idt, exprt> &invariant_map,
23  const std::map<loop_idt, std::set<exprt>> &assigns_map,
24  const std::string &json_output_str,
25  std::ostream &out);
26 
27 #define OPT_DUMP_LOOP_CONTRACTS "(json-output):(dump-loop-contracts)"
28 
29 // clang-format off
30 #define HELP_DUMP_LOOP_CONTRACTS \
31  " --dump-loop-contracts dump synthesized loop contracts as JSON\n" /* NOLINT(whitespace/line_length) */ \
32  " --json-output <file> specify the output destination of the dumped loop contracts\n" // NOLINT(*)
33 
34 // clang-format on
35 
36 #endif // CPROVER_GOTO_SYNTHESIZER_DUMP_LOOP_CONTRACTS_H
void dump_loop_contracts(goto_modelt &goto_model, const std::map< loop_idt, exprt > &invariant_map, const std::map< loop_idt, std::set< exprt >> &assigns_map, const std::string &json_output_str, std::ostream &out)
Loop id used to identify loops.
Definition: loop_ids.h:28