IDAPython 8.4
Loading...
Searching...
No Matches
ctree_parentee_t Class Reference

Proxy of C++ ctree_parentee_t class.

Inheritance diagram for ctree_parentee_t:
ctree_visitor_t cfunc_parentee_t

Public Member Functions

 __init__ (self, *args)
 init(self, post=False) -> ctree_parentee_t
 
"bool" recalc_parent_types (self, *args)
 recalc_parent_types(self) -> bool Recalculate type of parent nodes.
 
"cblock_t *" get_block (self, *args)
 get_block(self) -> cblock_t Get pointer to the parent block of the currently visited item.
 
 __disown__ (self)
 
- Public Member Functions inherited from ctree_visitor_t
"bool" maintain_parents (self, *args)
 maintain_parents(self) -> bool Should the parent information by maintained?
 
"bool" must_prune (self, *args)
 must_prune(self) -> bool Should the traversal skip the children of the current item?
 
"bool" must_restart (self, *args)
 must_restart(self) -> bool Should the traversal restart?
 
"bool" is_postorder (self, *args)
 is_postorder(self) -> bool Should the leave...() functions be called?
 
"bool" only_insns (self, *args)
 only_insns(self) -> bool Should all expressions be automatically pruned?
 
"void" prune_now (self, *args)
 prune_now(self) Prune children.
 
"void" clr_prune (self, *args)
 clr_prune(self) Do not prune children.
 
"void" set_restart (self, *args)
 set_restart(self) Restart the travesal.
 
"void" clr_restart (self, *args)
 clr_restart(self) Do not restart.
 
"int" apply_to (self, *args)
 apply_to(self, item, parent) -> int Traverse ctree.
 
"int" apply_to_exprs (self, *args)
 apply_to_exprs(self, item, parent) -> int Traverse only expressions.
 
"cexpr_t *" parent_expr (self, *args)
 parent_expr(self) -> cexpr_t Get parent of the current item as an expression.
 
"cinsn_t *" parent_insn (self, *args)
 parent_insn(self) -> cinsn_t Get parent of the current item as a statement.
 
"int" visit_insn (self, *args)
 visit_insn(self, arg0) -> int Visit a statement.
 
"int" visit_expr (self, *args)
 visit_expr(self, arg0) -> int Visit an expression.
 
"int" leave_insn (self, *args)
 leave_insn(self, arg0) -> int Visit a statement after having visited its children.
 
"int" leave_expr (self, *args)
 leave_expr(self, arg0) -> int Visit an expression after having visited its children.
 

Properties

 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
 
- Properties inherited from ctree_visitor_t
 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
 
 cv_flags = property(_ida_hexrays.ctree_visitor_t_cv_flags_get, _ida_hexrays.ctree_visitor_t_cv_flags_set, doc=)
 
 parents = property(_ida_hexrays.ctree_visitor_t_parents_get, _ida_hexrays.ctree_visitor_t_parents_set, doc=)
 

Constructor & Destructor Documentation

◆ __init__()

__init__ ( self,
* args )
Parameters
postbool

Reimplemented from ctree_visitor_t.

Reimplemented in cfunc_parentee_t.

Member Function Documentation

◆ __disown__()

__disown__ ( self)

Reimplemented from ctree_visitor_t.

Reimplemented in cfunc_parentee_t.

◆ get_block()

"cblock_t *" get_block ( self,
* args )

This function should be called only when the parent is a block.

◆ recalc_parent_types()

"bool" recalc_parent_types ( self,
* args )

If a node type has been changed, the visitor must recalculate all parent types, otherwise the ctree becomes inconsistent. If during this recalculation a parent node is added/deleted, this function returns true. In this case the traversal must be stopped because the information about parent nodes is stale.

Returns
: false-ok to continue the traversal, true-must stop.

Property Documentation

◆ thisown

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

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