|
| binding_cluster (const region *base_region) |
|
| binding_cluster (const binding_cluster &other) |
|
binding_cluster & | operator= (const binding_cluster &other) |
|
bool | operator== (const binding_cluster &other) const |
|
bool | operator!= (const binding_cluster &other) const |
|
hashval_t | hash () const |
|
bool | symbolic_p () const |
|
const region * | get_base_region () const |
|
void | dump_to_pp (pretty_printer *pp, bool simple, bool multiline) const |
|
void | dump (bool simple) const |
|
void | validate () const |
|
json::object * | to_json () const |
|
void | bind (store_manager *mgr, const region *, const svalue *) |
|
void | clobber_region (store_manager *mgr, const region *reg) |
|
void | purge_region (store_manager *mgr, const region *reg) |
|
void | fill_region (store_manager *mgr, const region *reg, const svalue *sval) |
|
void | zero_fill_region (store_manager *mgr, const region *reg) |
|
void | mark_region_as_unknown (store_manager *mgr, const region *reg_to_bind, const region *reg_for_overlap, uncertainty_t *uncertainty, svalue_set *maybe_live_values) |
|
void | purge_state_involving (const svalue *sval, region_model_manager *sval_mgr) |
|
const svalue * | get_binding (store_manager *mgr, const region *reg) const |
|
const svalue * | get_binding_recursive (store_manager *mgr, const region *reg) const |
|
const svalue * | get_any_binding (store_manager *mgr, const region *reg) const |
|
const svalue * | maybe_get_compound_binding (store_manager *mgr, const region *reg) const |
|
void | remove_overlapping_bindings (store_manager *mgr, const region *reg, uncertainty_t *uncertainty, svalue_set *maybe_live_values) |
|
template<typename T > |
void | for_each_value (void(*cb)(const svalue *sval, T user_data), T user_data) const |
|
void | make_unknown_relative_to (const binding_cluster *other_cluster, store *out_store, store_manager *mgr) |
|
void | mark_as_escaped () |
|
void | on_unknown_fncall (const gcall *call, store_manager *mgr, const conjured_purge &p) |
|
void | on_asm (const gasm *stmt, store_manager *mgr, const conjured_purge &p) |
|
bool | escaped_p () const |
|
bool | touched_p () const |
|
bool | redundant_p () const |
|
bool | empty_p () const |
|
void | get_representative_path_vars (const region_model *model, svalue_set *visited, const region *base_reg, const svalue *sval, auto_vec< path_var > *out_pvs) const |
|
const svalue * | maybe_get_simple_value (store_manager *mgr) const |
|
template<typename BindingVisitor > |
void | for_each_binding (BindingVisitor &v) const |
|
iterator_t | begin () const |
|
iterator_t | end () const |
|
const binding_map & | get_map () const |
|
Concept: BindingVisitor, for use by binding_cluster::for_each_binding
and store::for_each_binding.
Should implement:
void on_binding (const binding_key *key, const svalue *&sval);
All of the bindings within a store for regions that share the same
base region.