vivl_t Struct Reference

Value interval (register or stack range) More...

Inheritance diagram for vivl_t:
voff_t

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?
 
bool includes (const vivl_t &r) const
 Does our value interval include another?
 
bool contains (const voff_t &voff2) const
 Does our value interval contain the specified value offset?
 
 DECLARE_COMPARISONS (vivl_t)
 
bool operator== (const mop_t &mop) const
 
void print (qstring *vout) const
 
const char * dstr (void) 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.
 
- Public Attributes inherited from voff_t
sval_t off
 register number or stack offset
 
mopt_t type
 mop_r - register, mop_S - stack, mop_z - undefined
 

Detailed Description

Value interval (register or stack range)

Examples:
hexrays_sample15.cpp.

Definition at line 2994 of file hexrays.hpp.

Member Function Documentation

◆ 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 9989 of file hexrays.hpp.

References hexdsp.

◆ 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 9995 of file hexrays.hpp.

References hexdsp.