Value interval (register or stack range) More...
#include <hexrays.hpp>
Public Member Functions | |
vivl_t (mopt_t _type=mop_z, sval_t _off=-1, int _size=0) | |
vivl_t (const class chain_t &ch) | |
vivl_t (const mop_t &op) | |
void | set (mopt_t _type, sval_t _off, int _size=0) |
void | set (const voff_t &voff, int _size) |
void | set_stkoff (sval_t stkoff, int sz=0) |
void | set_reg (mreg_t mreg, int sz=0) |
bool | extend_to_cover (const vivl_t &r) |
Extend a value interval using another value interval of the same type. More... | |
uval_t | intersect (const vivl_t &r) |
Intersect value intervals the same type. More... | |
bool | overlap (const vivl_t &r) const |
Do two value intervals overlap? More... | |
bool | includes (const vivl_t &r) const |
Does our value interval include another? More... | |
bool | contains (const voff_t &voff2) const |
Does our value interval contain the specified value offset? More... | |
DECLARE_COMPARISONS (vivl_t) | |
bool | operator== (const mop_t &mop) const |
void | print (qstring *vout) const |
const char * | dstr () const |
Public Member Functions inherited from voff_t | |
voff_t (mopt_t _type, sval_t _off) | |
voff_t (const mop_t &op) | |
void | set (mopt_t _type, sval_t _off) |
void | set_stkoff (sval_t stkoff) |
void | set_reg (mreg_t mreg) |
void | undef () |
bool | defined () const |
bool | is_reg () const |
bool | is_stkoff () const |
mreg_t | get_reg () const |
sval_t | get_stkoff () const |
void | inc (sval_t delta) |
voff_t | add (int width) const |
sval_t | diff (const voff_t &r) const |
DECLARE_COMPARISONS (voff_t) | |
Public Attributes | |
int | size |
Interval size in bytes. More... | |
Public Attributes inherited from voff_t | |
sval_t | off = -1 |
register number or stack offset More... | |
mopt_t | type = mop_z |
mop_r - register, mop_S - stack, mop_z - undefined More... | |
Detailed Description
Value interval (register or stack range)
Definition at line 3242 of file hexrays.hpp.
Constructor & Destructor Documentation
◆ vivl_t() [1/2]
Definition at line 3246 of file hexrays.hpp.
◆ vivl_t() [2/2]
vivl_t::vivl_t | ( | const mop_t & | op | ) |
Definition at line 3249 of file hexrays.hpp.
Member Function Documentation
◆ contains()
bool vivl_t::contains | ( | const voff_t & | voff2 | ) | const |
Does our value interval contain the specified value offset?
Definition at line 3281 of file hexrays.hpp.
References voff_t::off, and voff_t::type.
◆ DECLARE_COMPARISONS()
vivl_t::DECLARE_COMPARISONS | ( | vivl_t | ) |
Definition at line 3288 of file hexrays.hpp.
◆ dstr()
const char * vivl_t::dstr | ( | ) | const |
Definition at line 10843 of file hexrays.hpp.
◆ extend_to_cover()
bool vivl_t::extend_to_cover | ( | const vivl_t & | r | ) |
Extend a value interval using another value interval of the same type.
- Returns
- success
Definition at line 10823 of file hexrays.hpp.
◆ includes()
bool vivl_t::includes | ( | const vivl_t & | r | ) | const |
Does our value interval include another?
Definition at line 3274 of file hexrays.hpp.
References voff_t::off, size, and voff_t::type.
◆ intersect()
uval_t vivl_t::intersect | ( | const vivl_t & | r | ) |
Intersect value intervals the same type.
- Returns
- size of the resulting intersection
Definition at line 10829 of file hexrays.hpp.
◆ operator==()
bool vivl_t::operator== | ( | const mop_t & | mop | ) | const |
Definition at line 3293 of file hexrays.hpp.
◆ overlap()
bool vivl_t::overlap | ( | const vivl_t & | r | ) | const |
Do two value intervals overlap?
Definition at line 3268 of file hexrays.hpp.
References voff_t::off, size, and voff_t::type.
◆ print()
void vivl_t::print | ( | qstring * | vout | ) | const |
Definition at line 10837 of file hexrays.hpp.
◆ set() [1/2]
void vivl_t::set | ( | const voff_t & | voff, |
int | _size | ||
) |
Definition at line 3254 of file hexrays.hpp.
◆ set() [2/2]
void vivl_t::set | ( | mopt_t | _type, |
sval_t | _off, | ||
int | _size = 0 |
||
) |
Definition at line 3252 of file hexrays.hpp.
◆ set_reg()
void vivl_t::set_reg | ( | mreg_t | mreg, |
int | sz = 0 |
||
) |
Definition at line 3257 of file hexrays.hpp.
◆ set_stkoff()
void vivl_t::set_stkoff | ( | sval_t | stkoff, |
int | sz = 0 |
||
) |
Definition at line 3256 of file hexrays.hpp.
Member Data Documentation
◆ size
int vivl_t::size |
Interval size in bytes.
Definition at line 3244 of file hexrays.hpp.
Referenced by includes(), and overlap().