cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
dfcc_is_fresh.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: Dynamic frame condition checking for function contracts
4
5
Author: Remi Delmas, delmasrd@amazon.com
6
Date: August 2022
7
8
\*******************************************************************/
9
13
14
#ifndef CPROVER_GOTO_INSTRUMENT_CONTRACTS_DYNAMIC_FRAMES_DFCC_IS_FRESH_H
15
#define CPROVER_GOTO_INSTRUMENT_CONTRACTS_DYNAMIC_FRAMES_DFCC_IS_FRESH_H
16
17
#include <
util/message.h
>
18
19
#include <
goto-programs/goto_program.h
>
20
21
class
goto_modelt
;
22
class
message_handlert
;
23
class
dfcc_libraryt
;
24
class
dfcc_cfg_infot
;
25
class
exprt
;
26
29
class
dfcc_is_fresht
30
{
31
public
:
34
dfcc_is_fresht
(
dfcc_libraryt
&
library
,
message_handlert
&
message_handler
);
35
39
void
rewrite_calls
(
goto_programt
&program,
dfcc_cfg_infot
&cfg_info);
40
45
void
rewrite_calls
(
46
goto_programt
&program,
47
goto_programt::targett
first_instruction,
48
const
goto_programt::targett
&last_instruction,
49
dfcc_cfg_infot
&cfg_info);
50
51
protected
:
52
dfcc_libraryt
&
library
;
53
message_handlert
&
message_handler
;
54
messaget
log
;
55
};
56
57
#endif
dfcc_cfg_infot
Computes natural loops, enforces normal form conditions, computes the nesting graph,...
Definition
dfcc_cfg_info.h:243
dfcc_is_fresht::message_handler
message_handlert & message_handler
Definition
dfcc_is_fresh.h:53
dfcc_is_fresht::library
dfcc_libraryt & library
Definition
dfcc_is_fresh.h:52
dfcc_is_fresht::rewrite_calls
void rewrite_calls(goto_programt &program, dfcc_cfg_infot &cfg_info)
Rewrites calls to is_fresh predicates into calls to the library implementation in the given program,...
Definition
dfcc_is_fresh.cpp:28
dfcc_is_fresht::dfcc_is_fresht
dfcc_is_fresht(dfcc_libraryt &library, message_handlert &message_handler)
Definition
dfcc_is_fresh.cpp:21
dfcc_is_fresht::log
messaget log
Definition
dfcc_is_fresh.h:54
dfcc_libraryt
Class interface to library types and functions defined in cprover_contracts.c.
Definition
dfcc_library.h:163
exprt
Base class for all expressions.
Definition
expr.h:57
goto_modelt
Definition
goto_model.h:27
goto_programt
A generic container class for the GOTO intermediate representation of one function.
Definition
goto_program.h:72
goto_programt::targett
instructionst::iterator targett
Definition
goto_program.h:613
message_handlert
Definition
message.h:27
messaget
Class that provides messages with a built-in verbosity 'level'.
Definition
message.h:154
goto_program.h
Concrete Goto Program.
message.h
goto-instrument
contracts
dynamic-frames
dfcc_is_fresh.h
Generated by
1.17.0