IDA C++ SDK 9.2
|
Switch case. Usually cinsn_t is a block. More...
#include <hexrays.hpp>
Public Member Functions | |
DECLARE_COMPARISONS (ccase_t) | |
void | set_insn (cinsn_t *i) |
size_t | size () const |
const uint64 & | value (int i) const |
Public Member Functions inherited from cinsn_t | |
cinsn_t () | |
cinsn_t (const cinsn_t &r) | |
void | swap (cinsn_t &r) |
cinsn_t & | operator= (const cinsn_t &r) |
cinsn_t &hexapi | assign (const cinsn_t &r) |
DECLARE_COMPARISONS (cinsn_t) | |
~cinsn_t () | |
void hexapi | replace_by (cinsn_t *r) |
Replace the statement. | |
void hexapi | cleanup () |
Cleanup the statement. | |
void | zero () |
Overwrite with zeroes without cleaning memory or deleting children. | |
cinsn_t &hexapi | new_insn (ea_t insn_ea) |
Create a new statement. | |
cif_t &hexapi | create_if (cexpr_t *cnd) |
Create a new if-statement. | |
void hexapi | print (int indent, vc_printer_t &vp, use_curly_t use_curly=CALC_CURLY_BRACES) const |
Print the statement into many lines. | |
void hexapi | print1 (qstring *vout, const cfunc_t *func) const |
Print the statement into one line. | |
bool hexapi | is_ordinary_flow () const |
Check if the statement passes execution to the next statement. | |
bool hexapi | contains_insn (ctype_t type, int times=1) const |
Check if the statement contains a statement of the specified type. | |
bool hexapi | collect_free_breaks (cinsnptrvec_t *breaks) |
Collect free break statements. | |
bool hexapi | collect_free_continues (cinsnptrvec_t *continues) |
Collect free continue statements. | |
bool | contains_free_break () const |
Check if the statement has free break statements. | |
bool | contains_free_continue () const |
Check if the statement has free continue statements. | |
const char *hexapi | dstr () const |
Public Member Functions inherited from citem_t | |
citem_t (ctype_t o=cot_empty) | |
void | swap (citem_t &r) |
Swap two citem_t. | |
bool | is_expr () const |
Is an expression? | |
bool hexapi | contains_expr (const cexpr_t *e) const |
Does the item contain an expression? | |
bool hexapi | contains_label () const |
Does the item contain a label? | |
const citem_t *hexapi | find_parent_of (const citem_t *item) const |
Find parent of the specified item. | |
citem_t * | find_parent_of (const citem_t *item) |
citem_t *hexapi | find_closest_addr (ea_t _ea) |
void | print1 (qstring *vout, const cfunc_t *func) const |
Print item into one line. | |
~citem_t () |
Public Attributes | |
uint64vec_t | values |
List of case values. | |
Public Attributes inherited from cinsn_t | |
union { | |
cblock_t * cblock | |
details of block-statement More... | |
cexpr_t * cexpr | |
details of expression-statement More... | |
cif_t * cif | |
details of if-statement More... | |
cfor_t * cfor | |
details of for-statement More... | |
cwhile_t * cwhile | |
details of while-statement More... | |
cdo_t * cdo | |
details of do-statement More... | |
cswitch_t * cswitch | |
details of switch-statement More... | |
creturn_t * creturn | |
details of return-statement More... | |
cgoto_t * cgoto | |
details of goto-statement More... | |
casm_t * casm | |
details of asm-statement More... | |
ctry_t * ctry | |
details of try-statement More... | |
cthrow_t * cthrow | |
details of throw-statement More... | |
}; | |
Public Attributes inherited from citem_t | |
ea_t | ea = BADADDR |
address that corresponds to the item. may be BADADDR | |
ctype_t | op |
item type | |
int | label_num = -1 |
label number. | |
int | index = -1 |
an index in cfunc_t::treeitems. |
Switch case. Usually cinsn_t is a block.
ccase_t::DECLARE_COMPARISONS | ( | ccase_t | ) |
|
inline |
|
inline |
uint64vec_t ccase_t::values |
List of case values.
if empty, then 'default' case