IDAPython 9.0
Loading...
Searching...
No Matches
ctree_visitor_t Class Reference
Inheritance diagram for ctree_visitor_t:
ctree_parentee_t cfunc_parentee_t

Public Member Functions

bool maintain_parents (self)
 
bool must_prune (self)
 
bool must_restart (self)
 
bool is_postorder (self)
 
bool only_insns (self)
 
None prune_now (self)
 
None clr_prune (self)
 
None set_restart (self)
 
None clr_restart (self)
 
 __init__ (self, int _flags)
 
int apply_to (self, 'citem_t' item, 'citem_t' parent)
 
int apply_to_exprs (self, 'citem_t' item, 'citem_t' parent)
 
'cexpr_t *' parent_expr (self)
 
'cinsn_t *' parent_insn (self)
 
int visit_insn (self, 'cinsn_t' arg0)
 
int visit_expr (self, 'cexpr_t' arg0)
 
int leave_insn (self, 'cinsn_t' arg0)
 
int leave_expr (self, 'cexpr_t' arg0)
 
 __disown__ (self)
 

Static Public Attributes

str cv_flags
 
str parents
 
str bposvec
 

Properties

 thisown
 

Constructor & Destructor Documentation

◆ __init__()

__init__ ( self,
int _flags )

Reimplemented in cfunc_parentee_t, and ctree_parentee_t.

Member Function Documentation

◆ __disown__()

__disown__ ( self)

Reimplemented in cfunc_parentee_t, and ctree_parentee_t.

◆ apply_to()

int apply_to ( self,
'citem_t' item,
'citem_t' parent )
Traverse ctree. The traversal will start at the specified item and continue until of one the visit_...() functions return a non-zero value. 

@param item: root of the ctree to traverse
@param parent: parent of the specified item. can be specified as nullptr.
@returns 0 or a non-zero value returned by a visit_...() function

◆ apply_to_exprs()

int apply_to_exprs ( self,
'citem_t' item,
'citem_t' parent )
Traverse only expressions. The traversal will start at the specified item and continue until of one the visit_...() functions return a non-zero value. 

@param item: root of the ctree to traverse
@param parent: parent of the specified item. can be specified as nullptr.
@returns 0 or a non-zero value returned by a visit_...() function

◆ clr_prune()

None clr_prune ( self)
Do not prune children. This is an internal function, no need to call it.

◆ clr_restart()

None clr_restart ( self)
Do not restart. This is an internal function, no need to call it.

◆ is_postorder()

bool is_postorder ( self)
Should the leave...() functions be called?

◆ leave_expr()

int leave_expr ( self,
'cexpr_t' arg0 )
Visit an expression after having visited its children. This is a visitor function which should be overridden by a derived class to do some useful work. This visitor performs post-order traserval, i.e. an item is visited after its children. 

@returns 0 to continue the traversal, nonzero to stop.

◆ leave_insn()

int leave_insn ( self,
'cinsn_t' arg0 )
Visit a statement after having visited its children. This is a visitor function which should be overridden by a derived class to do some useful work. This visitor performs post-order traserval, i.e. an item is visited after its children. 

@returns 0 to continue the traversal, nonzero to stop.

◆ maintain_parents()

bool maintain_parents ( self)
Should the parent information by maintained?

◆ must_prune()

bool must_prune ( self)
Should the traversal skip the children of the current item?

◆ must_restart()

bool must_restart ( self)
Should the traversal restart?

◆ only_insns()

bool only_insns ( self)
Should all expressions be automatically pruned?

◆ parent_expr()

'cexpr_t *' parent_expr ( self)
Get parent of the current item as an expression.

◆ parent_insn()

'cinsn_t *' parent_insn ( self)
Get parent of the current item as a statement.

◆ prune_now()

None prune_now ( self)
Prune children. This function may be called by a visitor() to skip all children of the current item. 

◆ set_restart()

None set_restart ( self)
Restart the travesal. Meaningful only in apply_to_exprs()

◆ visit_expr()

int visit_expr ( self,
'cexpr_t' arg0 )
Visit an expression. This is a visitor function which should be overridden by a derived class to do some useful work. This visitor performs pre-order traserval, i.e. an item is visited before its children. 

@returns 0 to continue the traversal, nonzero to stop.

◆ visit_insn()

int visit_insn ( self,
'cinsn_t' arg0 )
Visit a statement. This is a visitor function which should be overridden by a derived class to do some useful work. This visitor performs pre-order traserval, i.e. an item is visited before its children. 

@returns 0 to continue the traversal, nonzero to stop.

Member Data Documentation

◆ bposvec

str bposvec
static
Initial value:
= property(_ida_hexrays.
ctree_visitor_t_bposvec_get, _ida_hexrays.ctree_visitor_t_bposvec_set)

◆ cv_flags

str cv_flags
static
Initial value:
= property(_ida_hexrays.ctree_visitor_t_cv_flags_get,
_ida_hexrays.ctree_visitor_t_cv_flags_set)

◆ parents

str parents
static
Initial value:
= property(_ida_hexrays.
ctree_visitor_t_parents_get, _ida_hexrays.ctree_visitor_t_parents_set)

Property Documentation

◆ thisown

thisown
static
Initial value:
= property(lambda x: x.this.own(), lambda x, v: x.this.own(v),
doc='The membership flag')

The documentation for this class was generated from the following file: