Local variable locator. More...
#include <hexrays.hpp>

Public Member Functions | |
lvar_locator_t (const vdloc_t &loc, ea_t ea) | |
sval_t | get_stkoff (void) const |
Get offset of the varialbe in the stack frame. More... | |
bool | is_reg1 (void) const |
Is variable located on one register? More... | |
bool | is_reg2 (void) const |
Is variable located on two registers? More... | |
bool | is_reg_var (void) const |
Is variable located on register(s)? More... | |
bool | is_stk_var (void) const |
Is variable located on the stack? More... | |
bool | is_scattered (void) const |
Is variable scattered? More... | |
mreg_t | get_reg1 (void) const |
Get the register number of the variable. More... | |
mreg_t | get_reg2 (void) const |
Get the number of the second register (works only for ALOC_REG2 lvars) More... | |
const scattered_aloc_t & | get_scattered (void) const |
Get information about scattered variable. More... | |
scattered_aloc_t & | get_scattered (void) |
DECLARE_COMPARISONS (lvar_locator_t) | |
const char * | dstr () const |
Public Attributes | |
vdloc_t | location |
Variable location. More... | |
ea_t | defea |
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 1129 of file hexrays.hpp.
Constructor & Destructor Documentation
◆ lvar_locator_t() [1/2]
lvar_locator_t::lvar_locator_t | ( | void | ) |
Definition at line 1136 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 1137 of file hexrays.hpp.
Member Function Documentation
◆ dstr()
const char * lvar_locator_t::dstr | ( | void | ) | const |
Definition at line 9971 of file hexrays.hpp.
◆ get_reg1()
mreg_t lvar_locator_t::get_reg1 | ( | void | ) | const |
Get the register number of the variable.
Definition at line 1158 of file hexrays.hpp.
◆ get_reg2()
mreg_t lvar_locator_t::get_reg2 | ( | void | ) | const |
Get the number of the second register (works only for ALOC_REG2 lvars)
Definition at line 1160 of file hexrays.hpp.
◆ get_scattered() [1/2]
scattered_aloc_t & lvar_locator_t::get_scattered | ( | void | ) |
Definition at line 1163 of file hexrays.hpp.
◆ get_scattered() [2/2]
const scattered_aloc_t & lvar_locator_t::get_scattered | ( | void | ) | const |
Get information about scattered variable.
Definition at line 1162 of file hexrays.hpp.
◆ get_stkoff()
sval_t lvar_locator_t::get_stkoff | ( | void | ) | 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 1143 of file hexrays.hpp.
◆ is_reg1()
bool lvar_locator_t::is_reg1 | ( | void | ) | const |
Is variable located on one register?
Definition at line 1148 of file hexrays.hpp.
◆ is_reg2()
bool lvar_locator_t::is_reg2 | ( | void | ) | const |
Is variable located on two registers?
Definition at line 1150 of file hexrays.hpp.
◆ is_reg_var()
bool lvar_locator_t::is_reg_var | ( | void | ) | const |
Is variable located on register(s)?
Definition at line 1152 of file hexrays.hpp.
◆ is_scattered()
bool lvar_locator_t::is_scattered | ( | void | ) | const |
Is variable scattered?
Definition at line 1156 of file hexrays.hpp.
◆ is_stk_var()
bool lvar_locator_t::is_stk_var | ( | void | ) | const |
Is variable located on the stack?
Definition at line 1154 of file hexrays.hpp.
Member Data Documentation
◆ defea
ea_t lvar_locator_t::defea |
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 1132 of file hexrays.hpp.
◆ location
vdloc_t lvar_locator_t::location |
Variable location.
- Examples
- hexrays_sample4.cpp.
Definition at line 1131 of file hexrays.hpp.
Referenced by lvar_t::has_common().