ccase_t Struct Reference

Switch case. Usually cinsn_t is a block. More...

Inheritance diagram for ccase_t:
cinsn_t citem_t

Public Member Functions

void print (const cinsn_t *parent, int indent, vc_printer_t &vp) const
void set_insn (cinsn_t *i)
size_t size (void) const
const uint64 & value (int i) const
- Public Member Functions inherited from cinsn_t
 cinsn_t (const cinsn_t &r)
void swap (cinsn_t &r)
cinsn_toperator= (const cinsn_t &r)
cinsn_tassign (const cinsn_t &r)
void replace_by (cinsn_t *r)
 Replace the statement. More...
void cleanup (void)
 Cleanup the statement. More...
void zero (void)
 Overwrite with zeroes without cleaning memory or deleting children.
cinsn_tnew_insn (ea_t insn_ea)
 Create a new statement. More...
cif_tcreate_if (cexpr_t *cnd)
 Create a new if-statement. More...
void print (int indent, vc_printer_t &vp, use_curly_t use_curly=CALC_CURLY_BRACES) const
 Print the statement into many lines. More...
void print1 (qstring *vout, const cfunc_t *func) const
 Print the statement into one line. More...
bool is_ordinary_flow (void) const
 Check if the statement passes execution to the next statement. More...
bool contains_insn (ctype_t type, int times=1) const
 Check if the statement contains a statement of the specified type. More...
bool collect_free_breaks (cinsnptrvec_t *breaks)
 Collect free break statements. More...
bool collect_free_continues (cinsnptrvec_t *continues)
 Collect free continue statements. More...
bool contains_free_break (void) const
 Check if the statement has free break statements.
bool contains_free_continue (void) const
 Check if the statement has free continue statements.
- Public Member Functions inherited from citem_t
 citem_t (ctype_t o)
void swap (citem_t &r)
 Swap two citem_t.
bool is_expr (void) const
 Is an expression?
bool contains_label (void) const
 Does the item contain a label?
const citem_tfind_parent_of (const citem_t *sitem) const
 Find parent of the specified item. More...
citem_tfind_parent_of (const citem_t *item)
citem_tfind_closest_addr (ea_t _ea)
void print1 (qstring *vout, const cfunc_t *func) const
 Print item into one line. More...

Public Attributes

qvector< uint64 > values
 List of case values. More...
- Public Attributes inherited from cinsn_t
union {
   cblock_t *   cblock
 details of block-statement
   cexpr_t *   cexpr
 details of expression-statement
   cif_t *   cif
 details of if-statement
   cfor_t *   cfor
 details of for-statement
   cwhile_t *   cwhile
 details of while-statement
   cdo_t *   cdo
 details of do-statement
   cswitch_t *   cswitch
 details of switch-statement
   creturn_t *   creturn
 details of return-statement
   cgoto_t *   cgoto
 details of goto-statement
   casm_t *   casm
 details of asm-statement
- Public Attributes inherited from citem_t
ea_t ea
 address that corresponds to the item
ctype_t op
 element type
int label_num
 label number. More...
int index
 item index. meaningful only after print_func()

Detailed Description

Switch case. Usually cinsn_t is a block.

Definition at line 4143 of file hexrays.hpp.

Member Data Documentation

◆ values

qvector<uint64> ccase_t::values

List of case values.

if empty, then 'default' case

Definition at line 4145 of file hexrays.hpp.