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

#include <common.h>

Inheritance diagram for ana::custom_edge_info:

Public Member Functions

virtual ~custom_edge_info ()
virtual void print (pretty_printer *pp) const =0
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 void add_events_to_path (checker_path *emission_path, const exploded_edge &eedge) 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

Detailed Description

Abstract base class for associating custom data with an
exploded_edge, for handling non-standard edges such as
rewinding from a longjmp, signal handlers, etc.
Also used when "bifurcating" state: splitting the execution
path in non-standard ways (e.g. for simulating the various
outcomes of "realloc").   

Constructor & Destructor Documentation

◆ ~custom_edge_info()

virtual ana::custom_edge_info::~custom_edge_info ( )
inlinevirtual

Member Function Documentation

◆ add_events_to_path()

virtual void ana::custom_edge_info::add_events_to_path ( checker_path * emission_path,
const exploded_edge & eedge ) const
pure virtual

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

◆ print()

virtual void ana::custom_edge_info::print ( 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 virtual

◆ update_state()

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

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