|
| initial_svalue (symbol::id_t id, tree type, const region *reg) |
|
enum svalue_kind | get_kind () const final override |
|
const initial_svalue * | dyn_cast_initial_svalue () const final override |
|
void | dump_to_pp (pretty_printer *pp, bool simple) const final override |
|
void | print_dump_widget_label (pretty_printer *pp) const final override |
|
void | add_dump_widget_children (text_art::tree_widget &w, const dump_widget_info &dwi) const final override |
|
void | accept (visitor *v) const final override |
|
bool | implicitly_live_p (const svalue_set *, const region_model *) const final override |
|
bool | initial_value_of_param_p () const |
|
const region * | get_region () const |
|
tree | get_type () const |
|
void | print (const region_model &model, pretty_printer *pp) const |
|
void | dump () const |
|
void | dump (bool simple) const |
|
label_text | get_desc (bool simple=true) const |
|
json::value * | to_json () const |
|
std::unique_ptr< text_art::tree_widget > | make_dump_widget (const dump_widget_info &dwi, const char *prefix=nullptr) const |
|
virtual const region_svalue * | dyn_cast_region_svalue () const |
|
virtual const constant_svalue * | dyn_cast_constant_svalue () const |
|
virtual const poisoned_svalue * | dyn_cast_poisoned_svalue () const |
|
virtual const setjmp_svalue * | dyn_cast_setjmp_svalue () const |
|
virtual const unaryop_svalue * | dyn_cast_unaryop_svalue () const |
|
virtual const binop_svalue * | dyn_cast_binop_svalue () const |
|
virtual const sub_svalue * | dyn_cast_sub_svalue () const |
|
virtual const repeated_svalue * | dyn_cast_repeated_svalue () const |
|
virtual const bits_within_svalue * | dyn_cast_bits_within_svalue () const |
|
virtual const unmergeable_svalue * | dyn_cast_unmergeable_svalue () const |
|
virtual const widening_svalue * | dyn_cast_widening_svalue () const |
|
virtual const compound_svalue * | dyn_cast_compound_svalue () const |
|
virtual const conjured_svalue * | dyn_cast_conjured_svalue () const |
|
virtual const asm_output_svalue * | dyn_cast_asm_output_svalue () const |
|
virtual const const_fn_result_svalue * | dyn_cast_const_fn_result_svalue () const |
|
tree | maybe_get_constant () const |
|
const region * | maybe_get_region () const |
|
const svalue * | maybe_undo_cast () const |
|
const svalue * | unwrap_any_unmergeable () const |
|
const svalue * | can_merge_p (const svalue *other, region_model_manager *mgr, model_merger *merger) const |
|
bool | live_p (const svalue_set *live_svalues, const region_model *model) const |
|
bool | involves_p (const svalue *other) const |
|
const svalue * | extract_bit_range (tree type, const bit_range &subrange, region_model_manager *mgr) const |
|
virtual const svalue * | maybe_fold_bits_within (tree type, const bit_range &subrange, region_model_manager *mgr) const |
|
virtual bool | all_zeroes_p () const |
|
virtual bool | can_have_associated_state_p () const |
|
const region * | maybe_get_deref_base_region () const |
|
bool | maybe_print_for_user (pretty_printer *pp, const region_model &model, const svalue *outer_sval=nullptr) const |
|
const complexity & | get_complexity () const |
|
id_t | get_id () const |
|
Concrete subclass of svalue representing the initial value of a
specific region.
This represents the initial value at the start of the analysis path,
as opposed to the first time the region is accessed during the path.
Hence as soon as we have a call to an unknown function, all previously
unmodelled globals become implicitly "unknown" rathen than "initial".