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

List of all members.

Public Member Functions

 lvar_locator_t (argloc_t loc, ea_t ea)
sval_t get_regnum (void) const
 Calculate the variable location.
bool is_reg_lvar (void) const
 Is variable located on a register?
bool is_reg2_lvar (void) const
 Is variable located on two registers?
bool is_stk_lvar (void) const
 Is variable located on the stack?
mreg_t get_regloc1 (void) const
 Get number of the register for the variable.
mreg_t get_regloc2 (void) const
 Get number of the second register (only for tworeg lvars).
 DECLARE_COMPARISONS (lvar_locator_t)

Public Attributes

argloc_t location
 Variable mapping.
ea_t defea
 Definition address.

Detailed Description

Local variable locator. Local variables are located using: definition ea, location.

Definition at line 516 of file hexrays.hpp.


Member Function Documentation

sval_t lvar_locator_t::get_regnum ( void   )  const

Calculate the variable location.

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

References hexdsp.


Member Data Documentation

Definition address.

This value is assigned to each lvar by lvar allocator. BADADDR for function arguments

Examples:
hexrays_sample4.cpp.

Definition at line 521 of file hexrays.hpp.

Variable mapping.

registers: ARGLOC_REG|microreg
stkvars: offset from the minimal sp

Examples:
hexrays_sample4.cpp.

Definition at line 518 of file hexrays.hpp.

Referenced by lvar_t::has_common().