cfunc_parentee_t Struct Reference
Class to traverse the whole function. More...
#include <hexrays.hpp>
Inheritance diagram for cfunc_parentee_t:
Public Member Functions | |
cfunc_parentee_t (cfunc_t *f, bool post=false) | |
bool | calc_rvalue_type (tinfo_t *target, const cexpr_t *e) |
Calculate rvalue type. More... | |
Public Member Functions inherited from ctree_parentee_t | |
ctree_parentee_t (bool post=false) | |
bool | recalc_parent_types () |
Recalculate type of parent nodes. More... | |
cblock_t * | get_block () |
Get pointer to the parent block of the currently visited item. More... | |
Public Member Functions inherited from ctree_visitor_t | |
bool | maintain_parents () const |
Should the parent information by maintained? More... | |
bool | must_prune () const |
Should the traversal skip the children of the current item? More... | |
bool | must_restart () const |
Should the traversal restart? More... | |
bool | is_postorder () const |
Should the leave...() functions be called? More... | |
bool | only_insns () const |
Should all expressions be automatically pruned? More... | |
void | prune_now () |
Prune children. More... | |
void | clr_prune () |
Do not prune children. This is an internal function, no need to call it. More... | |
void | set_restart () |
Restart the travesal. Meaningful only in apply_to_exprs() More... | |
void | clr_restart () |
Do not restart. This is an internal function, no need to call it. More... | |
ctree_visitor_t (int _flags) | |
Constructor. More... | |
int | apply_to (citem_t *item, citem_t *parent) |
Traverse ctree. More... | |
int | apply_to_exprs (citem_t *item, citem_t *parent) |
Traverse only expressions. More... | |
cexpr_t * | parent_expr () |
Get parent of the current item as an expression. More... | |
cinsn_t * | parent_insn () |
Get parent of the current item as a statement. More... | |
virtual int | visit_insn (cinsn_t *) |
Visit a statement. More... | |
virtual int | visit_expr (cexpr_t *) |
Visit an expression. More... | |
virtual int | leave_insn (cinsn_t *) |
Visit a statement after having visited its children. More... | |
virtual int | leave_expr (cexpr_t *) |
Visit an expression after having visited its children. More... | |
Public Attributes | |
cfunc_t * | func |
Pointer to current function. More... | |
Public Attributes inherited from ctree_visitor_t | |
int | cv_flags |
Ctree visitor property bits More... | |
parents_t | parents |
Vector of parents of the current item. More... | |
Detailed Description
Class to traverse the whole function.
Definition at line 5914 of file hexrays.hpp.
Constructor & Destructor Documentation
◆ cfunc_parentee_t()
cfunc_parentee_t::cfunc_parentee_t | ( | cfunc_t * | f, |
bool | post = false |
||
) |
Definition at line 5917 of file hexrays.hpp.
Member Function Documentation
◆ calc_rvalue_type()
bool cfunc_parentee_t::calc_rvalue_type | ( | tinfo_t * | target, |
const cexpr_t * | e | ||
) |
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.
- Parameters
-
[in] e expression to determine the desired type [out] target 'best' type of the expression will be returned here
- Returns
- false if failed
Definition at line 11659 of file hexrays.hpp.
Member Data Documentation
◆ func
cfunc_t* cfunc_parentee_t::func |
Pointer to current function.
Definition at line 5916 of file hexrays.hpp.