GDB (xrefs)
Public Member Functions | Private Member Functions | Private Attributes | List of all members
lnp_state_machine Class Reference

Public Member Functions

 lnp_state_machine (gdbarch *arch, line_header *lh, bool record_lines_p)
 
file_entrycurrent_file ()
 
void record_line (bool end_sequence)
 
void check_line_address (struct dwarf2_cu *cu, const gdb_byte *line_ptr, CORE_ADDR lowpc, CORE_ADDR address)
 
void handle_set_discriminator (unsigned int discriminator)
 
void handle_set_address (CORE_ADDR baseaddr, CORE_ADDR address)
 
void handle_advance_pc (CORE_ADDR adjust)
 
void handle_special_opcode (unsigned char op_code)
 
void handle_advance_line (int line_delta)
 
void handle_set_file (file_name_index file)
 
void handle_negate_stmt ()
 
void handle_const_add_pc ()
 
void handle_fixed_advance_pc (CORE_ADDR addr_adj)
 
void handle_copy ()
 
void handle_end_sequence ()
 

Private Member Functions

void advance_line (int line_delta)
 

Private Attributes

gdbarchm_gdbarch
 
bool m_record_lines_p
 
line_headerm_line_header
 
unsigned char m_op_index = 0
 
file_name_index m_file = (file_name_index) 1
 
unsigned int m_line = 1
 
CORE_ADDR m_address
 
bool m_is_stmt
 
unsigned int m_discriminator
 
unsigned int m_last_file = 0
 
struct subfilem_last_subfile = NULL
 
record_line_ftypem_record_line_callback = NULL
 
unsigned int m_last_line = 0
 
bool m_line_has_non_zero_discriminator = false
 

Detailed Description

Definition at line 20362 of file dwarf2read.c.

Constructor & Destructor Documentation

◆ lnp_state_machine()

lnp_state_machine::lnp_state_machine ( gdbarch arch,
line_header lh,
bool  record_lines_p 
)

Member Function Documentation

◆ advance_line()

void lnp_state_machine::advance_line ( int  line_delta)
inlineprivate

◆ check_line_address()

void lnp_state_machine::check_line_address ( struct dwarf2_cu cu,
const gdb_byte line_ptr,
CORE_ADDR  lowpc,
CORE_ADDR  address 
)

◆ current_file()

file_entry* lnp_state_machine::current_file ( )
inline

◆ handle_advance_line()

void lnp_state_machine::handle_advance_line ( int  line_delta)
inline

Definition at line 20407 of file dwarf2read.c.

References advance_line().

Referenced by dwarf_decode_lines_1().

◆ handle_advance_pc()

void lnp_state_machine::handle_advance_pc ( CORE_ADDR  adjust)

◆ handle_const_add_pc()

void lnp_state_machine::handle_const_add_pc ( )

◆ handle_copy()

void lnp_state_machine::handle_copy ( )
inline

Definition at line 20432 of file dwarf2read.c.

References m_discriminator, and record_line().

Referenced by dwarf_decode_lines_1().

◆ handle_end_sequence()

void lnp_state_machine::handle_end_sequence ( )
inline

Definition at line 20439 of file dwarf2read.c.

References m_record_line_callback, and record_line().

Referenced by dwarf_decode_lines_1().

◆ handle_fixed_advance_pc()

void lnp_state_machine::handle_fixed_advance_pc ( CORE_ADDR  addr_adj)
inline

Definition at line 20425 of file dwarf2read.c.

References gdbarch_adjust_dwarf2_line(), m_address, m_gdbarch, and m_op_index.

Referenced by dwarf_decode_lines_1().

◆ handle_negate_stmt()

void lnp_state_machine::handle_negate_stmt ( )
inline

Definition at line 20416 of file dwarf2read.c.

References m_is_stmt.

Referenced by dwarf_decode_lines_1().

◆ handle_set_address()

void lnp_state_machine::handle_set_address ( CORE_ADDR  baseaddr,
CORE_ADDR  address 
)
inline

Definition at line 20393 of file dwarf2read.c.

References gdbarch_adjust_dwarf2_line(), m_address, m_gdbarch, and m_op_index.

Referenced by dwarf_decode_lines_1().

◆ handle_set_discriminator()

void lnp_state_machine::handle_set_discriminator ( unsigned int  discriminator)
inline

Definition at line 20386 of file dwarf2read.c.

References m_discriminator, and m_line_has_non_zero_discriminator.

Referenced by dwarf_decode_lines_1().

◆ handle_set_file()

void lnp_state_machine::handle_set_file ( file_name_index  file)

◆ handle_special_opcode()

void lnp_state_machine::handle_special_opcode ( unsigned char  op_code)

◆ record_line()

void lnp_state_machine::record_line ( bool  end_sequence)

Member Data Documentation

◆ m_address

CORE_ADDR lnp_state_machine::m_address
private

◆ m_discriminator

unsigned int lnp_state_machine::m_discriminator
private

◆ m_file

file_name_index lnp_state_machine::m_file = (file_name_index) 1
private

Definition at line 20469 of file dwarf2read.c.

Referenced by current_file(), handle_set_file(), and record_line().

◆ m_gdbarch

gdbarch* lnp_state_machine::m_gdbarch
private

◆ m_is_stmt

bool lnp_state_machine::m_is_stmt
private

Definition at line 20475 of file dwarf2read.c.

Referenced by handle_negate_stmt(), lnp_state_machine(), and record_line().

◆ m_last_file

unsigned int lnp_state_machine::m_last_file = 0
private

Definition at line 20482 of file dwarf2read.c.

◆ m_last_line

unsigned int lnp_state_machine::m_last_line = 0
private

Definition at line 20492 of file dwarf2read.c.

Referenced by record_line().

◆ m_last_subfile

struct subfile* lnp_state_machine::m_last_subfile = NULL
private

Definition at line 20484 of file dwarf2read.c.

Referenced by handle_set_file(), and record_line().

◆ m_line

unsigned int lnp_state_machine::m_line = 1
private

Definition at line 20470 of file dwarf2read.c.

Referenced by advance_line(), and record_line().

◆ m_line_has_non_zero_discriminator

bool lnp_state_machine::m_line_has_non_zero_discriminator = false
private

◆ m_line_header

line_header* lnp_state_machine::m_line_header
private

◆ m_op_index

unsigned char lnp_state_machine::m_op_index = 0
private

◆ m_record_line_callback

record_line_ftype* lnp_state_machine::m_record_line_callback = NULL
private

◆ m_record_lines_p

bool lnp_state_machine::m_record_lines_p
private

Definition at line 20459 of file dwarf2read.c.

Referenced by handle_set_file(), lnp_state_machine(), and record_line().


The documentation for this class was generated from the following file: