#include <svalue.h>
Data Structures | |
struct | key_t |
Public Types | |
typedef binding_map::iterator_t | iterator_t |
typedef unsigned | id_t |
Static Public Member Functions | |
static int | cmp_ptr (const svalue *, const svalue *) |
static int | cmp_ptr_ptr (const void *, const void *) |
static int | cmp_ids (const symbol *s1, const symbol *s2) |
Protected Member Functions | |
void | print_svalue_node_label (pretty_printer *pp) const |
Static Private Member Functions | |
static complexity | calc_complexity (const binding_map &map) |
Private Attributes | |
binding_map | m_map |
tree | m_type |
complexity | m_complexity |
id_t | m_id |
Concrete subclass of svalue representing a mapping of bit-ranges to svalues, analogous to a cluster within the store. This is for use in places where we want to represent a store-like mapping, but are required to use an svalue, such as when handling compound assignments and compound return values. All keys within the underlying binding_map are required to be concrete, not symbolic. Instances of this class shouldn't be bound as-is into the store; instead they should be unpacked. Similarly, they should not be nested.
|
inherited |
ana::compound_svalue::compound_svalue | ( | symbol::id_t | id, |
tree | type, | ||
const binding_map & | map ) |
References map.
Referenced by dyn_cast_compound_svalue().
|
finaloverridevirtual |
Implements ana::svalue.
|
finaloverridevirtual |
Implements ana::svalue.
|
virtualinherited |
Reimplemented in ana::constant_svalue, and ana::repeated_svalue.
|
inline |
References m_map.
|
staticprivate |
References map.
|
inlinevirtualinherited |
Reimplemented in ana::poisoned_svalue, and ana::unknown_svalue.
Referenced by ana::binop_svalue::binop_svalue(), ana::unaryop_svalue::unaryop_svalue(), and ana::widening_svalue::widening_svalue().
|
inherited |
References svalue().
References symbol().
References svalue().
|
staticinherited |
|
inherited |
|
inherited |
|
finaloverridevirtual |
Implements ana::svalue.
|
inlinevirtualinherited |
Reimplemented in ana::asm_output_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::binop_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::bits_within_svalue.
References NULL.
|
inlinefinaloverridevirtual |
Reimplemented from ana::svalue.
References compound_svalue(), and final().
|
inlinevirtualinherited |
Reimplemented in ana::conjured_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::const_fn_result_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::constant_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::initial_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::poisoned_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::region_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::repeated_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::setjmp_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::sub_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::unaryop_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::unmergeable_svalue.
References NULL.
|
inlinevirtualinherited |
Reimplemented in ana::widening_svalue.
References NULL.
|
inline |
References m_map.
|
inherited |
References svalue().
|
inlineinherited |
References m_complexity.
Referenced by ana::binop_svalue::binop_svalue(), and ana::widening_svalue::widening_svalue().
|
inlinefinaloverridevirtual |
Implements ana::svalue.
References final(), and ana::SK_COMPOUND.
|
inline |
References m_map.
|
inlineinherited |
References m_type.
Referenced by ana::compound_svalue::make_key(), and ana::unmergeable_svalue::unmergeable_svalue().
|
virtualinherited |
|
inherited |
|
inherited |
|
inline |
References ana::svalue::get_type(), m_map, and make_key().
Referenced by make_key().
|
finaloverridevirtual |
Reimplemented from ana::svalue.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
References svalue().
|
inherited |
|
finaloverridevirtual |
Implements ana::svalue.
|
protectedinherited |
|
inherited |
|
privateinherited |
Referenced by get_complexity(), and symbol().
|
private |
Referenced by begin(), end(), get_map(), and make_key().
|
privateinherited |
Referenced by get_type(), and svalue().