IDA C++ SDK 9.2
|
Class to traverse the whole function. More...
#include <hexrays.hpp>
Public Member Functions | |
cfunc_parentee_t (cfunc_t *f, bool post=false) | |
bool hexapi | calc_rvalue_type (tinfo_t *target, const cexpr_t *e) |
Calculate rvalue type. | |
Public Member Functions inherited from ctree_parentee_t | |
ctree_parentee_t (bool post=false) | |
bool hexapi | recalc_parent_types () |
Recalculate type of parent nodes. | |
Public Member Functions inherited from ctree_visitor_t | |
bool | maintain_parents () const |
Should the parent information by maintained? | |
bool | must_prune () const |
Should the traversal skip the children of the current item? | |
bool | must_restart () const |
Should the traversal restart? | |
bool | is_postorder () const |
Should the leave...() functions be called? | |
bool | only_insns () const |
Should all expressions be automatically pruned? | |
void | prune_now () |
Prune children. | |
void | clr_prune () |
Do not prune children. This is an internal function, no need to call it. | |
void | set_restart () |
Restart the travesal. Meaningful only in apply_to_exprs() | |
void | clr_restart () |
Do not restart. This is an internal function, no need to call it. | |
ctree_visitor_t (int _flags) | |
Constructor. | |
virtual | ~ctree_visitor_t () |
int hexapi | apply_to (citem_t *item, citem_t *parent) |
Traverse ctree. | |
int hexapi | apply_to_exprs (citem_t *item, citem_t *parent) |
Traverse only expressions. | |
citem_t * | parent_item () |
Get parent of the current item as an item (statement or expression) | |
cexpr_t * | parent_expr () |
Get parent of the current item as an expression. | |
cinsn_t * | parent_insn () |
Get parent of the current item as a statement. | |
virtual int idaapi | visit_insn (cinsn_t *) |
Visit a statement. | |
virtual int idaapi | visit_expr (cexpr_t *) |
Visit an expression. | |
virtual int idaapi | leave_insn (cinsn_t *) |
Visit a statement after having visited its children. | |
virtual int idaapi | leave_expr (cexpr_t *) |
Visit an expression after having visited its children. |
Public Attributes | |
cfunc_t * | func |
Pointer to current function. | |
Public Attributes inherited from ctree_visitor_t | |
int | cv_flags |
Ctree visitor property bits | |
parents_t | parents |
Vector of parents of the current item. | |
cblock_posvec_t | bposvec |
Vector of block positions. |
Class to traverse the whole function.
Calculate rvalue type.
This function tries to determine the type of the specified item based on its context. For example, if the current expression is the right side of an assignment operator, the type of its left side will be returned. This function can be used to determine the 'best' type of the specified expression.
[in] | e | expression to determine the desired type |
[out] | target | 'best' type of the expression will be returned here |
cfunc_t* cfunc_parentee_t::func |
Pointer to current function.