ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
waypoint.h
Go to the documentation of this file.
1
#ifndef CPROVER_GOTO_SYMEX_WAYPOINT_H
2
#define CPROVER_GOTO_SYMEX_WAYPOINT_H
3
4
#include <
big-int/bigint.hh
>
5
#include <
irep2/irep2.h
>
6
#include <string>
7
8
#define c_nonset -1
9
10
class
waypoint
11
{
12
public
:
13
enum
Type
14
{
15
assumption
,
16
target
,
17
function_enter
,
18
function_return
,
19
branching
,
20
unknown
21
};
22
23
enum
Action
24
{
25
follow
,
// must be passed exactly once
26
avoid
,
// must never be passed
27
cycle
// must be passed infinitely
28
};
29
30
// Parsed \result constraint for function_return waypoints.
31
// expr is an IRep2 expression tree with symbol2tc("\\result") as placeholder.
32
struct
parsed_constraintt
33
{
34
expr2tc
expr
;
35
bool
valid
=
false
;
36
};
37
38
Type
type
=
unknown
;
39
Action
action
=
follow
;
40
size_t
segment_idx
= 0;
41
std::string
file
;
42
std::string
value
;
43
std::string
format
;
44
BigInt
line
=
c_nonset
;
45
BigInt
column
=
c_nonset
;
46
std::string
function
;
47
irep_idt
line_id
;
48
irep_idt
column_id
;
49
irep_idt
function_id
;
50
parsed_constraintt
parsed_cond
;
51
};
52
53
#endif
bigint.hh
BigInt
Definition
bigint.hh:58
irep_idt
Definition
irep_idt.h:12
waypoint
Definition
waypoint.h:11
waypoint::Action
Action
Definition
waypoint.h:24
waypoint::cycle
@ cycle
Definition
waypoint.h:27
waypoint::avoid
@ avoid
Definition
waypoint.h:26
waypoint::follow
@ follow
Definition
waypoint.h:25
waypoint::parsed_cond
parsed_constraintt parsed_cond
Definition
waypoint.h:50
waypoint::function
std::string function
Definition
waypoint.h:46
waypoint::Type
Type
Definition
waypoint.h:14
waypoint::branching
@ branching
Definition
waypoint.h:19
waypoint::function_return
@ function_return
Definition
waypoint.h:18
waypoint::target
@ target
Definition
waypoint.h:16
waypoint::unknown
@ unknown
Definition
waypoint.h:20
waypoint::assumption
@ assumption
Definition
waypoint.h:15
waypoint::function_enter
@ function_enter
Definition
waypoint.h:17
waypoint::action
Action action
Definition
waypoint.h:39
waypoint::file
std::string file
Definition
waypoint.h:41
waypoint::column_id
irep_idt column_id
Definition
waypoint.h:48
waypoint::segment_idx
size_t segment_idx
Definition
waypoint.h:40
waypoint::line_id
irep_idt line_id
Definition
waypoint.h:47
waypoint::type
Type type
Definition
waypoint.h:38
waypoint::value
std::string value
Definition
waypoint.h:42
waypoint::function_id
irep_idt function_id
Definition
waypoint.h:49
waypoint::line
BigInt line
Definition
waypoint.h:44
waypoint::column
BigInt column
Definition
waypoint.h:45
waypoint::format
std::string format
Definition
waypoint.h:43
irep2.h
Classes and definitions for non-stringy internal representation.
expr2tc
irep_container< expr2t > expr2tc
Definition
irep2.h:431
waypoint::parsed_constraintt
Definition
waypoint.h:33
waypoint::parsed_constraintt::valid
bool valid
Definition
waypoint.h:35
waypoint::parsed_constraintt::expr
expr2tc expr
Definition
waypoint.h:34
c_nonset
#define c_nonset
Definition
waypoint.h:8
src
goto-symex
waypoint.h
Generated by
1.15.0