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

#include <exploded-graph.h>

Inheritance diagram for ana::interprocedural_return:
Collaboration diagram for ana::interprocedural_return:

Public Member Functions

 interprocedural_return (const gcall &call_stmt)
void print (pretty_printer *pp) const final override
void get_dot_attrs (const char *&out_style, const char *&out_color) const final override
bool update_state (program_state *state, const exploded_edge *eedge, region_model_context *ctxt) 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, pending_diagnostic &pd) const final override
virtual exploded_nodecreate_enode (exploded_graph &eg, const program_point &point, program_state &&state, exploded_node *enode_for_diag, region_model_context *ctxt) const

Private Attributes

const gcallm_call_stmt

Detailed Description

Extra data for an exploded_edge that represents an interprocedural
return.   

Constructor & Destructor Documentation

◆ interprocedural_return()

ana::interprocedural_return::interprocedural_return ( const gcall & call_stmt)
inline

References m_call_stmt.

Member Function Documentation

◆ add_events_to_path()

void ana::interprocedural_return::add_events_to_path ( checker_path * emission_path,
const exploded_edge & eedge,
pending_diagnostic & pd ) const
finaloverridevirtual

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_dot_attrs()

void ana::interprocedural_return::get_dot_attrs ( const char *& out_style,
const char *& out_color ) const
finaloverridevirtual

Reimplemented from ana::custom_edge_info.

◆ print()

void ana::interprocedural_return::print ( pretty_printer * pp) const
finaloverridevirtual

Implements ana::custom_edge_info.

◆ update_model()

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

Implements ana::custom_edge_info.

◆ update_state()

bool ana::interprocedural_return::update_state ( program_state * state,
const exploded_edge * eedge,
region_model_context * ctxt ) const
finaloverridevirtual

Reimplemented from ana::custom_edge_info.

Field Documentation

◆ m_call_stmt

const gcall& ana::interprocedural_return::m_call_stmt
private

Referenced by interprocedural_return().


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