ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
value_sets.h
Go to the documentation of this file.
1#ifndef CPROVER_POINTER_ANALYSIS_VALUE_SETS_H
2#define CPROVER_POINTER_ANALYSIS_VALUE_SETS_H
3
5#include <set>
6#include <irep2/irep2.h>
7
8// an abstract base class
9
11{
12public:
13 value_setst() = default;
14
15 typedef std::list<expr2tc> valuest;
17
18 // this is not const to allow a lazy evaluation
19 virtual void get_values(locationt l, const expr2tc &expr, valuest &dest) = 0;
20
24 virtual void
25 get_reference_set(locationt l, const expr2tc &expr, valuest &dest) = 0;
26
29 virtual bool has_location(locationt l) const = 0;
30
31 virtual ~value_setst() = default;
32};
33
34#endif
instructionst::const_iterator const_targett
Definition goto_program.h:591
virtual void get_values(locationt l, const expr2tc &expr, valuest &dest)=0
virtual void get_reference_set(locationt l, const expr2tc &expr, valuest &dest)=0
The objects a dereference-style l-value may refer to, as object_descriptor2ts (or a raw unknown/inval...
goto_programt::const_targett locationt
Definition value_sets.h:16
virtual ~value_setst()=default
value_setst()=default
virtual bool has_location(locationt l) const =0
True iff l carries points-to information; consumers must abstain when it does not.
std::list< expr2tc > valuest
Definition value_sets.h:15
Classes and definitions for non-stringy internal representation.
irep_container< expr2t > expr2tc
Definition irep2.h:431