|
| __init__ (self, *args, **kwargs) |
|
bool | used (self) |
|
bool | typed (self) |
|
bool | mreg_done (self) |
|
bool | has_nice_name (self) |
|
bool | is_unknown_width (self) |
|
bool | has_user_info (self) |
|
bool | has_user_name (self) |
|
bool | has_user_type (self) |
|
bool | is_result_var (self) |
|
bool | is_arg_var (self) |
|
bool | is_fake_var (self) |
|
bool | is_overlapped_var (self) |
|
bool | is_floating_var (self) |
|
bool | is_spoiled_var (self) |
|
bool | is_noptr_var (self) |
|
bool | is_mapdst_var (self) |
|
bool | is_thisarg (self) |
|
bool | is_split_var (self) |
|
bool | has_regname (self) |
|
bool | in_asm (self) |
|
bool | is_dummy_arg (self) |
|
bool | is_notarg (self) |
|
bool | is_automapped (self) |
|
bool | is_used_byref (self) |
|
bool | is_decl_unused (self) |
|
bool | is_shared (self) |
|
bool | was_scattered_arg (self) |
|
None | set_used (self) |
|
None | clear_used (self) |
|
None | set_typed (self) |
|
None | set_non_typed (self) |
|
None | clr_user_info (self) |
|
None | set_user_name (self) |
|
None | set_user_type (self) |
|
None | clr_user_type (self) |
|
None | clr_user_name (self) |
|
None | set_mreg_done (self) |
|
None | clr_mreg_done (self) |
|
None | set_unknown_width (self) |
|
None | clr_unknown_width (self) |
|
None | set_arg_var (self) |
|
None | clr_arg_var (self) |
|
None | set_fake_var (self) |
|
None | clr_fake_var (self) |
|
None | set_overlapped_var (self) |
|
None | clr_overlapped_var (self) |
|
None | set_floating_var (self) |
|
None | clr_floating_var (self) |
|
None | set_spoiled_var (self) |
|
None | clr_spoiled_var (self) |
|
None | set_mapdst_var (self) |
|
None | clr_mapdst_var (self) |
|
None | set_noptr_var (self) |
|
None | clr_noptr_var (self) |
|
None | set_thisarg (self) |
|
None | clr_thisarg (self) |
|
None | set_split_var (self) |
|
None | clr_split_var (self) |
|
None | set_dummy_arg (self) |
|
None | clr_dummy_arg (self) |
|
None | set_notarg (self) |
|
None | clr_notarg (self) |
|
None | set_automapped (self) |
|
None | clr_automapped (self) |
|
None | set_used_byref (self) |
|
None | clr_used_byref (self) |
|
None | set_decl_unused (self) |
|
None | clr_decl_unused (self) |
|
None | set_shared (self) |
|
None | clr_shared (self) |
|
None | set_scattered_arg (self) |
|
None | clr_scattered_arg (self) |
|
bool | has_common (self, 'lvar_t' v) |
|
bool | has_common_bit (self, 'vdloc_t' loc, 'asize_t' width2) |
|
'tinfo_t &' | type (self) |
|
bool | accepts_type (self, 'tinfo_t' t, bool may_change_thisarg=False) |
|
bool | set_lvar_type (self, 'tinfo_t' t, bool may_fail=False) |
|
None | set_final_lvar_type (self, 'tinfo_t' t) |
|
bool | set_width (self, int w, int svw_flags=0) |
|
None | append_list (self, 'mba_t' mba, 'mlist_t' lst, bool pad_if_scattered=False) |
|
bool | is_aliasable (self, 'mba_t' mba) |
|
int | get_stkoff (self) |
|
bool | is_reg1 (self) |
|
bool | is_reg2 (self) |
|
bool | is_reg_var (self) |
|
bool | is_stk_var (self) |
|
bool | is_scattered (self) |
|
'mreg_t' | get_reg1 (self) |
|
'mreg_t' | get_reg2 (self) |
|
'scattered_aloc_t &' | get_scattered (self) |
|
bool | __eq__ (self, 'lvar_locator_t' r) |
|
bool | __ne__ (self, 'lvar_locator_t' r) |
|
bool | __lt__ (self, 'lvar_locator_t' r) |
|
bool | __gt__ (self, 'lvar_locator_t' r) |
|
bool | __le__ (self, 'lvar_locator_t' r) |
|
bool | __ge__ (self, 'lvar_locator_t' r) |
|
int | compare (self, 'lvar_locator_t' r) |
|
◆ __init__()
__init__ |
( |
| self, |
|
|
* | args, |
|
|
** | kwargs ) |
◆ accepts_type()
bool accepts_type |
( |
| self, |
|
|
'tinfo_t' | t, |
|
|
bool | may_change_thisarg = False ) |
Check if the variable accept the specified type. Some types are forbidden (void, function types, wrong arrays, etc)
◆ append_list()
None append_list |
( |
| self, |
|
|
'mba_t' | mba, |
|
|
'mlist_t' | lst, |
|
|
bool | pad_if_scattered = False ) |
Append local variable to mlist.
@param mba: ptr to the current mba_t
@param lst: list to append to
@param pad_if_scattered: if true, append padding bytes in case of scattered lvar
◆ clear_used()
◆ clr_arg_var()
◆ clr_automapped()
None clr_automapped |
( |
| self | ) |
|
◆ clr_decl_unused()
None clr_decl_unused |
( |
| self | ) |
|
◆ clr_dummy_arg()
None clr_dummy_arg |
( |
| self | ) |
|
◆ clr_fake_var()
None clr_fake_var |
( |
| self | ) |
|
◆ clr_floating_var()
None clr_floating_var |
( |
| self | ) |
|
◆ clr_mapdst_var()
None clr_mapdst_var |
( |
| self | ) |
|
◆ clr_mreg_done()
None clr_mreg_done |
( |
| self | ) |
|
◆ clr_noptr_var()
None clr_noptr_var |
( |
| self | ) |
|
◆ clr_notarg()
◆ clr_overlapped_var()
None clr_overlapped_var |
( |
| self | ) |
|
◆ clr_scattered_arg()
None clr_scattered_arg |
( |
| self | ) |
|
◆ clr_shared()
◆ clr_split_var()
None clr_split_var |
( |
| self | ) |
|
◆ clr_spoiled_var()
None clr_spoiled_var |
( |
| self | ) |
|
◆ clr_thisarg()
◆ clr_unknown_width()
None clr_unknown_width |
( |
| self | ) |
|
◆ clr_used_byref()
None clr_used_byref |
( |
| self | ) |
|
◆ clr_user_info()
None clr_user_info |
( |
| self | ) |
|
◆ clr_user_name()
None clr_user_name |
( |
| self | ) |
|
◆ clr_user_type()
None clr_user_type |
( |
| self | ) |
|
◆ has_common()
bool has_common |
( |
| self, |
|
|
'lvar_t' | v ) |
◆ has_common_bit()
bool has_common_bit |
( |
| self, |
|
|
'vdloc_t' | loc, |
|
|
'asize_t' | width2 ) |
Does the variable overlap with the specified location?
◆ has_nice_name()
bool has_nice_name |
( |
| self | ) |
|
Does the variable have a nice name?
◆ has_regname()
Has a register name? (like _RAX)
◆ has_user_info()
bool has_user_info |
( |
| self | ) |
|
Has any user-defined information?
◆ has_user_name()
bool has_user_name |
( |
| self | ) |
|
◆ has_user_type()
bool has_user_type |
( |
| self | ) |
|
◆ in_asm()
Is variable used in an instruction translated into __asm?
◆ is_aliasable()
bool is_aliasable |
( |
| self, |
|
|
'mba_t' | mba ) |
Is the variable aliasable?
@param mba: ptr to the current mba_t Aliasable variables may be modified indirectly (through a pointer)
◆ is_arg_var()
Is the function argument?
◆ is_automapped()
bool is_automapped |
( |
| self | ) |
|
Was the variable automatically mapped to another variable?
◆ is_decl_unused()
bool is_decl_unused |
( |
| self | ) |
|
Was declared as __unused by the user? See CVAR_UNUSED.
◆ is_dummy_arg()
bool is_dummy_arg |
( |
| self | ) |
|
Is a dummy argument (added to fill a hole in the argument list)
◆ is_fake_var()
◆ is_floating_var()
bool is_floating_var |
( |
| self | ) |
|
◆ is_mapdst_var()
bool is_mapdst_var |
( |
| self | ) |
|
Other variable(s) map to this var?
◆ is_noptr_var()
bool is_noptr_var |
( |
| self | ) |
|
Variable type should not be a pointer.
◆ is_notarg()
Is a local variable? (local variable cannot be an input argument)
◆ is_overlapped_var()
bool is_overlapped_var |
( |
| self | ) |
|
◆ is_result_var()
bool is_result_var |
( |
| self | ) |
|
◆ is_shared()
Is lvar mapped to several chains.
◆ is_split_var()
bool is_split_var |
( |
| self | ) |
|
◆ is_spoiled_var()
bool is_spoiled_var |
( |
| self | ) |
|
Is spoiled var? (meaningful only during lvar allocation)
◆ is_thisarg()
Is 'this' argument of a C++ member function?
◆ is_unknown_width()
bool is_unknown_width |
( |
| self | ) |
|
Do we know the width of the variable?
◆ is_used_byref()
bool is_used_byref |
( |
| self | ) |
|
Was the address of the variable taken?
◆ mreg_done()
Have corresponding microregs been replaced by references to this variable?
◆ set_arg_var()
◆ set_automapped()
None set_automapped |
( |
| self | ) |
|
◆ set_decl_unused()
None set_decl_unused |
( |
| self | ) |
|
◆ set_dummy_arg()
None set_dummy_arg |
( |
| self | ) |
|
◆ set_fake_var()
None set_fake_var |
( |
| self | ) |
|
◆ set_final_lvar_type()
None set_final_lvar_type |
( |
| self, |
|
|
'tinfo_t' | t ) |
◆ set_floating_var()
None set_floating_var |
( |
| self | ) |
|
◆ set_lvar_type()
bool set_lvar_type |
( |
| self, |
|
|
'tinfo_t' | t, |
|
|
bool | may_fail = False ) |
Set variable type Note: this function does not modify the idb, only the lvar instance in the memory. For permanent changes see modify_user_lvars() Also, the variable type is not considered as final by the decompiler and may be modified later by the type derivation. In some cases set_final_var_type() may work better, but it does not do persistent changes to the database neither.
@param t: new type
@param may_fail: if false and type is bad, interr
@returns success
◆ set_mapdst_var()
None set_mapdst_var |
( |
| self | ) |
|
◆ set_mreg_done()
None set_mreg_done |
( |
| self | ) |
|
◆ set_non_typed()
None set_non_typed |
( |
| self | ) |
|
◆ set_noptr_var()
None set_noptr_var |
( |
| self | ) |
|
◆ set_notarg()
◆ set_overlapped_var()
None set_overlapped_var |
( |
| self | ) |
|
◆ set_scattered_arg()
None set_scattered_arg |
( |
| self | ) |
|
◆ set_shared()
◆ set_split_var()
None set_split_var |
( |
| self | ) |
|
◆ set_spoiled_var()
None set_spoiled_var |
( |
| self | ) |
|
◆ set_thisarg()
◆ set_typed()
◆ set_unknown_width()
None set_unknown_width |
( |
| self | ) |
|
◆ set_used()
◆ set_used_byref()
None set_used_byref |
( |
| self | ) |
|
◆ set_user_name()
None set_user_name |
( |
| self | ) |
|
◆ set_user_type()
None set_user_type |
( |
| self | ) |
|
◆ set_width()
bool set_width |
( |
| self, |
|
|
int | w, |
|
|
int | svw_flags = 0 ) |
Change the variable width. We call the variable size 'width', it is represents the number of bytes. This function may change the variable type using set_lvar_type().
@param w: new width
@param svw_flags: combination of SVW_... bits
@returns success
◆ type()
◆ typed()
◆ used()
Is the variable used in the code?
◆ was_scattered_arg()
bool was_scattered_arg |
( |
| self | ) |
|
Was lvar transformed from a scattered argument?
◆ cmt
Initial value:= property(_ida_hexrays.lvar_t_cmt_get, _ida_hexrays.
lvar_t_cmt_set)
◆ defblk
Initial value:= property(_ida_hexrays.lvar_t_defblk_get, _ida_hexrays.
lvar_t_defblk_set)
◆ divisor
Initial value:= property(_ida_hexrays.lvar_t_divisor_get,
_ida_hexrays.lvar_t_divisor_set)
◆ name
Initial value:= property(_ida_hexrays.lvar_t_name_get, _ida_hexrays.
lvar_t_name_set)
◆ tif
Initial value:= property(_ida_hexrays.lvar_t_tif_get, _ida_hexrays.
lvar_t_tif_set)
◆ width
Initial value:= property(_ida_hexrays.lvar_t_width_get, _ida_hexrays.
lvar_t_width_set)
◆ thisown
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: