Local variable locator. More...
#include <hexrays.hpp>
Public Member Functions | |
lvar_locator_t (const vdloc_t &loc, ea_t ea) | |
sval_t | get_stkoff () const |
Get offset of the varialbe in the stack frame. More... | |
bool | is_reg1 () const |
Is variable located on one register? More... | |
bool | is_reg2 () const |
Is variable located on two registers? More... | |
bool | is_reg_var () const |
Is variable located on register(s)? More... | |
bool | is_stk_var () const |
Is variable located on the stack? More... | |
bool | is_scattered () const |
Is variable scattered? More... | |
mreg_t | get_reg1 () const |
Get the register number of the variable. More... | |
mreg_t | get_reg2 () const |
Get the number of the second register (works only for ALOC_REG2 lvars) More... | |
const scattered_aloc_t & | get_scattered () const |
Get information about scattered variable. More... | |
scattered_aloc_t & | get_scattered () |
DECLARE_COMPARISONS (lvar_locator_t) | |
const char * | dstr () const |
Public Attributes | |
vdloc_t | location |
Variable location. More... | |
ea_t | defea = BADADDR |
Definition address. More... | |
Detailed Description
Local variable locator.
Local variables are located using definition ea and location. Each variable must have a unique locator, this is how we tell them apart.
Definition at line 1120 of file hexrays.hpp.
Constructor & Destructor Documentation
◆ lvar_locator_t() [1/2]
lvar_locator_t::lvar_locator_t | ( | ) |
Definition at line 1127 of file hexrays.hpp.
◆ lvar_locator_t() [2/2]
lvar_locator_t::lvar_locator_t | ( | const vdloc_t & | loc, |
ea_t | ea | ||
) |
Definition at line 1128 of file hexrays.hpp.
Member Function Documentation
◆ dstr()
const char * lvar_locator_t::dstr | ( | ) | const |
Definition at line 10024 of file hexrays.hpp.
◆ get_reg1()
mreg_t lvar_locator_t::get_reg1 | ( | ) | const |
Get the register number of the variable.
Definition at line 1149 of file hexrays.hpp.
◆ get_reg2()
mreg_t lvar_locator_t::get_reg2 | ( | ) | const |
Get the number of the second register (works only for ALOC_REG2 lvars)
Definition at line 1151 of file hexrays.hpp.
◆ get_scattered() [1/2]
scattered_aloc_t & lvar_locator_t::get_scattered | ( | ) |
Definition at line 1154 of file hexrays.hpp.
◆ get_scattered() [2/2]
const scattered_aloc_t & lvar_locator_t::get_scattered | ( | ) | const |
Get information about scattered variable.
Definition at line 1153 of file hexrays.hpp.
◆ get_stkoff()
sval_t lvar_locator_t::get_stkoff | ( | ) | const |
Get offset of the varialbe in the stack frame.
- Returns
- a non-negative value for stack variables. The value is an offset from the bottom of the stack frame in terms of vd-offsets. negative values mean error (not a stack variable)
Definition at line 1134 of file hexrays.hpp.
◆ is_reg1()
bool lvar_locator_t::is_reg1 | ( | ) | const |
Is variable located on one register?
Definition at line 1139 of file hexrays.hpp.
◆ is_reg2()
bool lvar_locator_t::is_reg2 | ( | ) | const |
Is variable located on two registers?
Definition at line 1141 of file hexrays.hpp.
◆ is_reg_var()
bool lvar_locator_t::is_reg_var | ( | ) | const |
Is variable located on register(s)?
Definition at line 1143 of file hexrays.hpp.
◆ is_scattered()
bool lvar_locator_t::is_scattered | ( | ) | const |
Is variable scattered?
Definition at line 1147 of file hexrays.hpp.
◆ is_stk_var()
bool lvar_locator_t::is_stk_var | ( | ) | const |
Is variable located on the stack?
Definition at line 1145 of file hexrays.hpp.
Member Data Documentation
◆ defea
ea_t lvar_locator_t::defea = BADADDR |
Definition address.
Usually, this is the address of the instruction that initializes the variable. In some cases it can be a fictional address.
- Examples
- hexrays_sample4.cpp.
Definition at line 1123 of file hexrays.hpp.
◆ location
vdloc_t lvar_locator_t::location |
Variable location.
- Examples
- hexrays_sample4.cpp.
Definition at line 1122 of file hexrays.hpp.
Referenced by lvar_t::has_common().