GCC Middle and Back End API Reference
ana::call_info Class Referenceabstract

#include <call-info.h>

Inheritance diagram for ana::call_info:
Collaboration diagram for ana::call_info:

Public Member Functions

void print (pretty_printer *pp) const override
void add_events_to_path (checker_path *emission_path, const exploded_edge &eedge) const override
const gcallget_call_stmt () const
tree get_fndecl () const
virtual void print_desc (pretty_printer &pp) const =0
call_details get_call_details (region_model *model, region_model_context *ctxt) const
virtual bool update_state (program_state *state, const exploded_edge *eedge, region_model_context *ctxt) const
virtual bool update_model (region_model *model, const exploded_edge *eedge, region_model_context *ctxt) const =0
virtual exploded_nodecreate_enode (exploded_graph &eg, const program_point &point, program_state &&state, exploded_node *enode_for_diag, region_model_context *ctxt) const

Protected Member Functions

 call_info (const call_details &cd)
 call_info (const call_details &cd, const function &called_fn)

Private Attributes

const gcallm_call_stmt
tree m_fndecl

Detailed Description

Subclass of custom_edge_info for an outcome of a call. This is still abstract; the update_model and print_desc vfuncs must be implemented.

Constructor & Destructor Documentation

◆ call_info() [1/2]

ana::call_info::call_info ( const call_details & cd)
protected

◆ call_info() [2/2]

ana::call_info::call_info ( const call_details & cd,
const function & called_fn )
protected

References cd.

Member Function Documentation

◆ add_events_to_path()

void ana::call_info::add_events_to_path ( checker_path * emission_path,
const exploded_edge & eedge ) const
overridevirtual

Implements ana::custom_edge_info.

◆ create_enode()

virtual exploded_node * ana::custom_edge_info::create_enode ( exploded_graph & eg,
const program_point & point,
program_state && state,
exploded_node * enode_for_diag,
region_model_context * ctxt ) const
virtualinherited

◆ get_call_details()

call_details ana::call_info::get_call_details ( region_model * model,
region_model_context * ctxt ) const

◆ get_call_stmt()

const gcall & ana::call_info::get_call_stmt ( ) const
inline

References m_call_stmt.

◆ get_fndecl()

tree ana::call_info::get_fndecl ( ) const
inline

References m_fndecl.

◆ print()

void ana::call_info::print ( pretty_printer * pp) const
overridevirtual

Implements ana::custom_edge_info.

◆ print_desc()

virtual void ana::call_info::print_desc ( pretty_printer & pp) const
pure virtual

◆ update_model()

virtual bool ana::custom_edge_info::update_model ( region_model * model,
const exploded_edge * eedge,
region_model_context * ctxt ) const
pure virtualinherited

◆ 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_call_stmt

const gcall& ana::call_info::m_call_stmt
private

Referenced by get_call_stmt().

◆ m_fndecl

tree ana::call_info::m_fndecl
private

Referenced by get_fndecl().


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