lvar_locator_t Struct Reference

Local variable locator. Local variables are located using: definition ea, location. 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_regnum (void) const
 Calculate the variable location (only for continuous variables) 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 number of the register for the variable.
 
mreg_t get_reg2 (void) const
 Get number of the second register (only for tworeg 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, location.

Definition at line 829 of file hexrays.hpp.

Member Function Documentation

◆ get_regnum()

sval_t lvar_locator_t::get_regnum ( void  ) const

Calculate the variable location (only for continuous variables)

Returns
if the variable is register-hosted, the register number otherwise, return the virtual stack register number that corresponds to the stack location

Definition at line 7197 of file hexrays.hpp.

References hexdsp.

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