ud (use->def) and du (def->use) chain. More...
#include <hexrays.hpp>

Public Member Functions | |
chain_t (mopt_t t, sval_t off, int w=1, int v=-1) | |
chain_t (const voff_t &_k, int w=1) | |
void | set_value (const chain_t &r) |
const voff_t & | key () const |
bool | is_inited (void) const |
bool | is_reg (void) const |
bool | is_stkoff (void) const |
bool | is_replaced (void) const |
bool | is_overlapped (void) const |
bool | is_fake (void) const |
bool | is_passreg (void) const |
bool | is_term (void) const |
void | set_inited (bool b) |
void | set_replaced (bool b) |
void | set_overlapped (bool b) |
void | set_term (bool b) |
mreg_t | get_reg () const |
sval_t | get_stkoff () const |
bool | overlap (const chain_t &r) const |
bool | includes (const chain_t &r) const |
const voff_t | endoff () const |
bool | operator< (const chain_t &r) const |
void | print (qstring *vout) const |
const char * | dstr () const |
void | append_list (const mba_t *mba, mlist_t *list) const |
Append the contents of the chain to the specified list of locations. More... | |
void | clear_varnum (void) |
Public Attributes | |
int | width |
size of the value in bytes More... | |
int | varnum |
allocated variable index (-1 - not allocated yet) More... | |
uchar | flags |
combination Chain properties bits More... | |
Detailed Description
ud (use->def) and du (def->use) chain.
We store in chains only the block numbers, not individual instructions See https://en.wikipedia.org/wiki/Use-define_chain
- Examples
- hexrays_sample12.cpp, and hexrays_sample18.cpp.
Definition at line 3299 of file hexrays.hpp.
Constructor & Destructor Documentation
◆ chain_t() [1/3]
chain_t::chain_t | ( | ) |
Definition at line 3317 of file hexrays.hpp.
◆ chain_t() [2/3]
chain_t::chain_t | ( | mopt_t | t, |
sval_t | off, | ||
int | w = 1 , |
||
int | v = -1 |
||
) |
Definition at line 3318 of file hexrays.hpp.
◆ chain_t() [3/3]
chain_t::chain_t | ( | const voff_t & | _k, |
int | w = 1 |
||
) |
Definition at line 3320 of file hexrays.hpp.
Member Function Documentation
◆ append_list()
Append the contents of the chain to the specified list of locations.
Definition at line 10808 of file hexrays.hpp.
◆ clear_varnum()
void chain_t::clear_varnum | ( | void | ) |
Definition at line 3351 of file hexrays.hpp.
◆ dstr()
const char * chain_t::dstr | ( | void | ) | const |
Definition at line 10802 of file hexrays.hpp.
◆ endoff()
const voff_t chain_t::endoff | ( | ) | const |
Definition at line 3343 of file hexrays.hpp.
◆ get_reg()
mreg_t chain_t::get_reg | ( | ) | const |
Definition at line 3337 of file hexrays.hpp.
◆ get_stkoff()
sval_t chain_t::get_stkoff | ( | void | ) | const |
Definition at line 3338 of file hexrays.hpp.
◆ includes()
bool chain_t::includes | ( | const chain_t & | r | ) | const |
Definition at line 3341 of file hexrays.hpp.
◆ is_fake()
bool chain_t::is_fake | ( | void | ) | const |
Definition at line 3330 of file hexrays.hpp.
◆ is_inited()
bool chain_t::is_inited | ( | void | ) | const |
Definition at line 3325 of file hexrays.hpp.
◆ is_overlapped()
bool chain_t::is_overlapped | ( | void | ) | const |
Definition at line 3329 of file hexrays.hpp.
◆ is_passreg()
bool chain_t::is_passreg | ( | void | ) | const |
Definition at line 3331 of file hexrays.hpp.
◆ is_reg()
bool chain_t::is_reg | ( | void | ) | const |
Definition at line 3326 of file hexrays.hpp.
◆ is_replaced()
bool chain_t::is_replaced | ( | void | ) | const |
Definition at line 3328 of file hexrays.hpp.
◆ is_stkoff()
bool chain_t::is_stkoff | ( | void | ) | const |
Definition at line 3327 of file hexrays.hpp.
◆ is_term()
bool chain_t::is_term | ( | void | ) | const |
Definition at line 3332 of file hexrays.hpp.
◆ key()
const voff_t & chain_t::key | ( | ) | const |
Definition at line 3324 of file hexrays.hpp.
◆ operator<()
bool chain_t::operator< | ( | const chain_t & | r | ) | const |
Definition at line 3345 of file hexrays.hpp.
◆ overlap()
bool chain_t::overlap | ( | const chain_t & | r | ) | const |
Definition at line 3339 of file hexrays.hpp.
◆ print()
void chain_t::print | ( | qstring * | vout | ) | const |
Definition at line 10796 of file hexrays.hpp.
◆ set_inited()
void chain_t::set_inited | ( | bool | b | ) |
Definition at line 3333 of file hexrays.hpp.
◆ set_overlapped()
void chain_t::set_overlapped | ( | bool | b | ) |
Definition at line 3335 of file hexrays.hpp.
◆ set_replaced()
void chain_t::set_replaced | ( | bool | b | ) |
Definition at line 3334 of file hexrays.hpp.
◆ set_term()
void chain_t::set_term | ( | bool | b | ) |
Definition at line 3336 of file hexrays.hpp.
◆ set_value()
void chain_t::set_value | ( | const chain_t & | r | ) |
Definition at line 3322 of file hexrays.hpp.
Member Data Documentation
◆ flags
uchar chain_t::flags |
combination Chain properties bits
Definition at line 3307 of file hexrays.hpp.
◆ varnum
int chain_t::varnum |
allocated variable index (-1 - not allocated yet)
Definition at line 3306 of file hexrays.hpp.
◆ width
int chain_t::width |
size of the value in bytes
Definition at line 3305 of file hexrays.hpp.