|
void | consume_cexpr (cexpr_t *e) |
| DECLARE_COMPARISONS (carg_t) |
bool | cpadone () const |
| Pointer arithmetic correction done for this expression?
|
bool | is_odd_lvalue () const |
bool | is_fpop () const |
bool | is_cstr () const |
bool | is_type_partial () const |
bool | is_undef_val () const |
bool | is_jumpout () const |
bool | is_vftable () const |
void | set_cpadone () |
void | set_vftable () |
void | set_type_partial (bool val=true) |
| cexpr_t () |
| cexpr_t (ctype_t cexpr_op, cexpr_t *_x, cexpr_t *_y=nullptr, cexpr_t *_z=nullptr) |
| cexpr_t (mba_t *mba, const lvar_t &v) |
| cexpr_t (const cexpr_t &r) |
void | swap (cexpr_t &r) |
cexpr_t & | operator= (const cexpr_t &r) |
cexpr_t &hexapi | assign (const cexpr_t &r) |
| DECLARE_COMPARISONS (cexpr_t) |
| ~cexpr_t () |
void hexapi | replace_by (cexpr_t *r) |
| Replace the expression.
|
void hexapi | cleanup () |
| Cleanup the expression.
|
void hexapi | put_number (cfunc_t *func, uint64 value, int nbytes, type_sign_t sign=no_sign) |
| Assign a number to the expression.
|
void hexapi | print1 (qstring *vout, const cfunc_t *func) const |
| Print expression into one line.
|
void hexapi | calc_type (bool recursive) |
| Calculate the type of the expression.
|
bool hexapi | equal_effect (const cexpr_t &r) const |
| Compare two expressions.
|
bool hexapi | is_child_of (const citem_t *parent) const |
| Verify if the specified item is our parent.
|
bool hexapi | contains_operator (ctype_t needed_op, int times=1) const |
| Check if the expression contains the specified operator.
|
bool | contains_comma (int times=1) const |
| Does the expression contain a comma operator?
|
bool | contains_insn (int times=1) const |
| Does the expression contain an embedded statement operator?
|
bool | contains_insn_or_label () const |
| Does the expression contain an embedded statement operator or a label?
|
bool | contains_comma_or_insn_or_label (int maxcommas=1) const |
| Does the expression contain a comma operator or an embedded statement operator or a label?
|
bool | is_nice_expr () const |
| Is nice expression?
|
bool | is_nice_cond () const |
| Is nice condition?
|
bool | is_call_object_of (const citem_t *parent) const |
| Is call object?
|
bool | is_call_arg_of (const citem_t *parent) const |
| Is call argument?
|
type_sign_t | get_type_sign () const |
| Get expression sign.
|
bool | is_type_unsigned () const |
| Is expression unsigned?
|
bool | is_type_signed () const |
| Is expression signed?
|
bit_bound_t hexapi | get_high_nbit_bound () const |
| Get max number of bits that can really be used by the expression.
|
int hexapi | get_low_nbit_bound () const |
| Get min number of bits that are certainly required to represent the expression.
|
bool hexapi | requires_lvalue (const cexpr_t *child) const |
| Check if the expression requires an lvalue.
|
bool hexapi | has_side_effects () const |
| Check if the expression has side effects.
|
bool | like_boolean () const |
| Does the expression look like a boolean expression?
|
bool | is_aliasable () const |
| Check if the expression if aliasable.
|
uint64 | numval () const |
| Get numeric value of the expression.
|
bool | is_const_value (uint64 _v) const |
| Check if the expression is a number with the specified value.
|
bool | is_negative_const () const |
| Check if the expression is a negative number.
|
bool | is_non_negative_const () const |
| Check if the expression is a non-negative number.
|
bool | is_non_zero_const () const |
| Check if the expression is a non-zero number.
|
bool | is_zero_const () const |
| Check if the expression is a zero.
|
bool | is_value_used (const citem_t *parent) const |
| Does the PARENT need the expression value.
|
bool | get_const_value (uint64 *out) const |
| Get expression value.
|
bool hexapi | maybe_ptr () const |
| May the expression be a pointer?
|
cexpr_t * | get_ptr_or_array () |
| Find pointer or array child.
|
const cexpr_t * | find_op (ctype_t _op) const |
| Find the child with the specified operator.
|
cexpr_t * | find_op (ctype_t _op) |
const cexpr_t * | find_num_op () const |
| Find the operand with a numeric value.
|
cexpr_t * | find_num_op () |
const cexpr_t * | find_ptr_or_array (bool remove_eqsize_casts) const |
| Find the pointer operand.
|
const cexpr_t * | theother (const cexpr_t *what) const |
| Get the other operand.
|
cexpr_t * | theother (const cexpr_t *what) |
bool | get_1num_op (cexpr_t **o1, cexpr_t **o2) |
| Get pointers to operands.
|
bool | get_1num_op (const cexpr_t **o1, const cexpr_t **o2) const |
const char *hexapi | dstr () const |
| 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 () |