GCC Middle and Back End API Reference
ana::rewind_info_t Class Reference

#include <exploded-graph.h>

Inheritance diagram for ana::rewind_info_t:
Collaboration diagram for ana::rewind_info_t:

Public Member Functions

 rewind_info_t (const setjmp_record &setjmp_record, const gcall *longjmp_call)
 
void print (pretty_printer *pp) const final override
 
bool update_model (region_model *model, const exploded_edge *eedge, region_model_context *ctxt) const final override
 
void add_events_to_path (checker_path *emission_path, const exploded_edge &eedge) const final override
 
const program_pointget_setjmp_point () const
 
const gcallget_setjmp_call () const
 
const gcallget_longjmp_call () const
 
const exploded_nodeget_enode_origin () const
 
virtual bool update_state (program_state *state, const exploded_edge *eedge, region_model_context *ctxt) const
 

Private Attributes

setjmp_record m_setjmp_record
 
const gcallm_longjmp_call
 

Detailed Description

Extra data for an exploded_edge that represents a rewind from a
longjmp to a setjmp (or from a siglongjmp to a sigsetjmp).   

Constructor & Destructor Documentation

◆ rewind_info_t()

ana::rewind_info_t::rewind_info_t ( const setjmp_record & setjmp_record,
const gcall * longjmp_call )
inline

Member Function Documentation

◆ add_events_to_path()

void ana::rewind_info_t::add_events_to_path ( checker_path * emission_path,
const exploded_edge & eedge ) const
finaloverridevirtual

Implements ana::custom_edge_info.

◆ get_enode_origin()

const exploded_node * ana::rewind_info_t::get_enode_origin ( ) const
inline

◆ get_longjmp_call()

const gcall * ana::rewind_info_t::get_longjmp_call ( ) const
inline

References m_longjmp_call.

◆ get_setjmp_call()

const gcall * ana::rewind_info_t::get_setjmp_call ( ) const
inline

◆ get_setjmp_point()

const program_point & ana::rewind_info_t::get_setjmp_point ( ) const
inline

◆ print()

void ana::rewind_info_t::print ( pretty_printer * pp) const
inlinefinaloverridevirtual

Implements ana::custom_edge_info.

References pp_string().

◆ update_model()

bool ana::rewind_info_t::update_model ( region_model * model,
const exploded_edge * eedge,
region_model_context * ctxt ) const
finaloverridevirtual

Implements ana::custom_edge_info.

◆ update_state()

virtual bool ana::custom_edge_info::update_state ( program_state * state,
const exploded_edge * eedge,
region_model_context * ctxt ) const
virtualinherited

Field Documentation

◆ m_longjmp_call

const gcall* ana::rewind_info_t::m_longjmp_call
private

Referenced by get_longjmp_call().

◆ m_setjmp_record

setjmp_record ana::rewind_info_t::m_setjmp_record
private

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