lvar_locator_t Struct Reference

Local variable locator. More...

Inheritance diagram for lvar_locator_t:
lvar_t

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?
 
bool is_reg2 (void) const
 Is variable located on two registers?
 
bool is_reg_var (void) const
 Is variable located on register(s)?
 
bool is_stk_var (void) const
 Is variable located on the stack?
 
bool is_scattered (void) const
 Is variable scattered?
 
mreg_t get_reg1 (void) const
 Get the register number of the variable.
 
mreg_t get_reg2 (void) const
 Get the number of the second register (works only for ALOC_REG2 lvars)
 
const scattered_aloc_t & get_scattered (void) const
 Get information about scattered variable.
 
scattered_aloc_t & get_scattered (void)
 
 DECLARE_COMPARISONS (lvar_locator_t)
 
const char * dstr (void) const
 

Public Attributes

vdloc_t location
 Variable location.
 
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 1160 of file hexrays.hpp.

Member Function Documentation

◆ 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 1174 of file hexrays.hpp.

Member Data Documentation

◆ defea

ea_t lvar_locator_t::defea

Definition address.

The address of an instruction that initializes the variable. This value is assigned to each lvar by lvar allocator. BADADDR for function arguments

Examples:
hexrays_sample4.cpp.

Definition at line 1163 of file hexrays.hpp.