cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
incremental_goto_checker.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: Incremental Goto Checker Interface
4
5
Author: Daniel Kroening, Peter Schrammel
6
7
\*******************************************************************/
8
11
12
#ifndef CPROVER_GOTO_CHECKER_INCREMENTAL_GOTO_CHECKER_H
13
#define CPROVER_GOTO_CHECKER_INCREMENTAL_GOTO_CHECKER_H
14
15
#include <unordered_set>
16
17
#include "
properties.h
"
18
19
#include <
util/message.h
>
20
21
class
optionst
;
22
class
ui_message_handlert
;
23
35
class
incremental_goto_checkert
36
{
37
public
:
38
incremental_goto_checkert
() =
delete
;
39
incremental_goto_checkert
(
const
incremental_goto_checkert
&) =
delete
;
40
virtual
~incremental_goto_checkert
() =
default
;
41
42
struct
resultt
43
{
44
enum class
progresst
45
{
48
FOUND_FAIL
,
51
DONE
52
};
53
54
progresst
progress
;
55
56
resultt
() =
delete
;
57
explicit
resultt
(
progresst
);
58
61
std::unordered_set<irep_idt>
updated_properties
;
62
};
63
80
virtual
resultt
operator()
(
propertiest
&properties) = 0;
81
84
virtual
void
report
()
85
{
86
}
87
88
protected
:
89
incremental_goto_checkert
(
const
optionst
&,
ui_message_handlert
&);
90
91
const
optionst
&
options
;
92
ui_message_handlert
&
ui_message_handler
;
93
messaget
log
;
94
};
95
96
#endif
// CPROVER_GOTO_CHECKER_INCREMENTAL_GOTO_CHECKER_H
incremental_goto_checkert::incremental_goto_checkert
incremental_goto_checkert()=delete
incremental_goto_checkert::incremental_goto_checkert
incremental_goto_checkert(const incremental_goto_checkert &)=delete
incremental_goto_checkert::log
messaget log
Definition
incremental_goto_checker.h:93
incremental_goto_checkert::options
const optionst & options
Definition
incremental_goto_checker.h:91
incremental_goto_checkert::ui_message_handler
ui_message_handlert & ui_message_handler
Definition
incremental_goto_checker.h:92
incremental_goto_checkert::operator()
virtual resultt operator()(propertiest &properties)=0
Check whether the given properties with status NOT_CHECKED, UNKNOWN or properties newly discovered by...
incremental_goto_checkert::report
virtual void report()
Additional reporting that may result from the underlying solver, no-op by default.
Definition
incremental_goto_checker.h:84
incremental_goto_checkert::~incremental_goto_checkert
virtual ~incremental_goto_checkert()=default
messaget
Class that provides messages with a built-in verbosity 'level'.
Definition
message.h:154
optionst
Definition
options.h:23
ui_message_handlert
Definition
ui_message.h:22
properties.h
Properties.
propertiest
std::map< irep_idt, property_infot > propertiest
A map of property IDs to property infos.
Definition
properties.h:76
message.h
incremental_goto_checkert::resultt
Definition
incremental_goto_checker.h:43
incremental_goto_checkert::resultt::updated_properties
std::unordered_set< irep_idt > updated_properties
Changed properties since the last call to incremental_goto_checkert::operator().
Definition
incremental_goto_checker.h:61
incremental_goto_checkert::resultt::resultt
resultt()=delete
incremental_goto_checkert::resultt::progresst
progresst
Definition
incremental_goto_checker.h:45
incremental_goto_checkert::resultt::progresst::DONE
@ DONE
The goto checker has returned all results for the given set of properties.
Definition
incremental_goto_checker.h:51
incremental_goto_checkert::resultt::progresst::FOUND_FAIL
@ FOUND_FAIL
The goto checker may be able to find another FAILed property if operator() is called again.
Definition
incremental_goto_checker.h:48
incremental_goto_checkert::resultt::progress
progresst progress
Definition
incremental_goto_checker.h:54
goto-checker
incremental_goto_checker.h
Generated by
1.17.0