|
CBMC
|
Verify and use annotated loop and function contracts. More...
#include "contracts.h"#include <util/c_types.h>#include <util/format_expr.h>#include <util/fresh_symbol.h>#include <util/mathematical_expr.h>#include <goto-programs/goto_inline.h>#include <goto-programs/remove_skip.h>#include <goto-programs/unwindset.h>#include <analyses/local_may_alias.h>#include <goto-instrument/nondet_static.h>#include <goto-instrument/unwind.h>#include "cfg_info.h"#include "havoc_assigns_clause_targets.h"#include "inlining_decorator.h"#include "instrument_spec_assigns.h"#include "memory_predicates.h"#include "utils.h"#include <algorithm>#include <map>
Include dependency graph for contracts.cpp:Go to the source code of this file.
Functions | |
| static void | throw_on_unsupported (const goto_programt &program) |
| Throws an exception if a contract uses unsupported constructs like: | |
| static void | generate_contract_constraints (symbol_tablet &symbol_table, goto_convertt &converter, exprt &instantiated_clause, const irep_idt &mode, const std::function< void(goto_programt &)> &is_fresh_update, goto_programt &program, const source_locationt &location) |
| This function generates instructions for all contract constraint, i.e., assumptions and assertions based on requires and ensures clauses. | |
| static const code_with_contract_typet & | get_contract (const irep_idt &function, const namespacet &ns) |
Verify and use annotated loop and function contracts.
Definition in file contracts.cpp.
|
static |
This function generates instructions for all contract constraint, i.e., assumptions and assertions based on requires and ensures clauses.
Definition at line 551 of file contracts.cpp.
|
static |
Definition at line 579 of file contracts.cpp.
|
static |
Throws an exception if a contract uses unsupported constructs like:
Definition at line 533 of file contracts.cpp.