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

#include <call-info.h>

Inheritance diagram for ana::succeed_or_fail_call_info:
Collaboration diagram for ana::succeed_or_fail_call_info:

Public Member Functions

void print_desc (pretty_printer &pp) const final override
 
void print (pretty_printer *pp) const final override
 
void add_events_to_path (checker_path *emission_path, const exploded_edge &eedge) const final override
 
const gcallget_call_stmt () const
 
tree get_fndecl () const
 
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
 

Protected Member Functions

 succeed_or_fail_call_info (const call_details &cd, bool success)
 

Protected Attributes

bool m_success
 

Private Attributes

const gcallm_call_stmt
 
tree m_fndecl
 

Detailed Description

Subclass of call_info for a "success" outcome of a call,
adding either a
  "when `FNDECL' succeeds" message (when 'success' is true)
or a
  "when `FNDECL' fails" message    (when 'success' is false).
This is still abstract: the custom_edge_info::update_model vfunc
must be implemented.   

Constructor & Destructor Documentation

◆ succeed_or_fail_call_info()

ana::succeed_or_fail_call_info::succeed_or_fail_call_info ( const call_details & cd,
bool success )
inlineprotected

Member Function Documentation

◆ add_events_to_path()

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

Implements ana::custom_edge_info.

◆ get_call_details()

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

◆ get_call_stmt()

const gcall * ana::call_info::get_call_stmt ( ) const
inlineinherited

◆ get_fndecl()

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

◆ print()

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

Implements ana::custom_edge_info.

◆ print_desc()

void ana::succeed_or_fail_call_info::print_desc ( pretty_printer & pp) const
finaloverridevirtual

Implements ana::call_info.

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

◆ m_fndecl

tree ana::call_info::m_fndecl
privateinherited

◆ m_success

bool ana::succeed_or_fail_call_info::m_success
protected

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