cprover
constant_propagator_ait Class Reference

#include <constant_propagator.h>

Inheritance diagram for constant_propagator_ait:
[legend]
Collaboration diagram for constant_propagator_ait:
[legend]

Public Member Functions

 constant_propagator_ait (goto_functionst &goto_functions, const namespacet &ns)
 
 constant_propagator_ait (goto_functionst::goto_functiont &goto_function, const namespacet &ns)
 
- Public Member Functions inherited from ait< constant_propagator_domaint >
 ait ()
 
constant_propagator_domaintoperator[] (locationt l)
 
const constant_propagator_domaintoperator[] (locationt l) const
 
void clear () override
 
- Public Member Functions inherited from ai_baset
 ai_baset ()
 
virtual ~ai_baset ()
 
void operator() (const goto_programt &goto_program, const namespacet &ns)
 
void operator() (const goto_functionst &goto_functions, const namespacet &ns)
 
void operator() (const goto_modelt &goto_model)
 
void operator() (const goto_functionst::goto_functiont &goto_function, const namespacet &ns)
 
virtual void output (const namespacet &ns, const goto_functionst &goto_functions, std::ostream &out) const
 
void output (const goto_modelt &goto_model, std::ostream &out) const
 
void output (const namespacet &ns, const goto_programt &goto_program, std::ostream &out) const
 
void output (const namespacet &ns, const goto_functionst::goto_functiont &goto_function, std::ostream &out) const
 
virtual jsont output_json (const namespacet &ns, const goto_functionst &goto_functions) const
 Output the domains for the whole program as JSON. More...
 
jsont output_json (const goto_modelt &goto_model) const
 
jsont output_json (const namespacet &ns, const goto_programt &goto_program) const
 
jsont output_json (const namespacet &ns, const goto_functionst::goto_functiont &goto_function) const
 
virtual xmlt output_xml (const namespacet &ns, const goto_functionst &goto_functions) const
 Output the domains for the whole program as XML. More...
 
xmlt output_xml (const goto_modelt &goto_model) const
 
xmlt output_xml (const namespacet &ns, const goto_programt &goto_program) const
 
xmlt output_xml (const namespacet &ns, const goto_functionst::goto_functiont &goto_function) const
 

Protected Member Functions

void replace_array_symbol (exprt &expr)
 
void replace (goto_functionst::goto_functiont &, const namespacet &)
 
void replace (goto_functionst &, const namespacet &)
 
void replace_types_rec (const replace_symbolt &replace_const, exprt &expr)
 
- Protected Member Functions inherited from ait< constant_propagator_domaint >
virtual statetget_state (locationt l) override
 
const statetfind_state (locationt l) const override
 
bool merge (const statet &src, locationt from, locationt to) override
 
statetmake_temporary_state (const statet &s) override
 
void fixedpoint (const goto_functionst &goto_functions, const namespacet &ns) override
 
- Protected Member Functions inherited from ai_baset
virtual void initialize (const goto_programt &)
 
virtual void initialize (const goto_functionst::goto_functiont &)
 
virtual void initialize (const goto_functionst &)
 
void entry_state (const goto_programt &)
 
void entry_state (const goto_functionst &)
 
virtual void output (const namespacet &ns, const goto_programt &goto_program, const irep_idt &identifier, std::ostream &out) const
 
virtual jsont output_json (const namespacet &ns, const goto_programt &goto_program, const irep_idt &identifier) const
 Output the domains for a single function as JSON. More...
 
virtual xmlt output_xml (const namespacet &ns, const goto_programt &goto_program, const irep_idt &identifier) const
 Output the domains for a single function as XML. More...
 
locationt get_next (working_sett &working_set)
 
void put_in_working_set (working_sett &working_set, locationt l)
 
bool fixedpoint (const goto_programt &goto_program, const goto_functionst &goto_functions, const namespacet &ns)
 
void sequential_fixedpoint (const goto_functionst &goto_functions, const namespacet &ns)
 
void concurrent_fixedpoint (const goto_functionst &goto_functions, const namespacet &ns)
 
bool visit (locationt l, working_sett &working_set, const goto_programt &goto_program, const goto_functionst &goto_functions, const namespacet &ns)
 
bool do_function_call_rec (locationt l_call, locationt l_return, const exprt &function, const exprt::operandst &arguments, const goto_functionst &goto_functions, const namespacet &ns)
 
bool do_function_call (locationt l_call, locationt l_return, const goto_functionst &goto_functions, const goto_functionst::function_mapt::const_iterator f_it, const exprt::operandst &arguments, const namespacet &ns)
 

Friends

class constant_propagator_domaint
 

Additional Inherited Members

- Public Types inherited from ait< constant_propagator_domaint >
typedef goto_programt::const_targett locationt
 
- Public Types inherited from ai_baset
typedef ai_domain_baset statet
 
typedef goto_programt::const_targett locationt
 
- Protected Types inherited from ait< constant_propagator_domaint >
typedef std::unordered_map< locationt, constant_propagator_domaint, const_target_hashstate_mapt
 
- Protected Types inherited from ai_baset
typedef std::map< unsigned, locationtworking_sett
 
typedef std::set< irep_idtrecursion_sett
 
- Protected Attributes inherited from ait< constant_propagator_domaint >
state_mapt state_map
 
- Protected Attributes inherited from ai_baset
recursion_sett recursion_set
 

Detailed Description

Definition at line 109 of file constant_propagator.h.

Constructor & Destructor Documentation

§ constant_propagator_ait() [1/2]

constant_propagator_ait::constant_propagator_ait ( goto_functionst goto_functions,
const namespacet ns 
)
inline

Definition at line 112 of file constant_propagator.h.

§ constant_propagator_ait() [2/2]

constant_propagator_ait::constant_propagator_ait ( goto_functionst::goto_functiont goto_function,
const namespacet ns 
)
inline

Definition at line 120 of file constant_propagator.h.

Member Function Documentation

§ replace() [1/2]

§ replace() [2/2]

void constant_propagator_ait::replace ( goto_functionst goto_functions,
const namespacet ns 
)
protected

Definition at line 467 of file constant_propagator.cpp.

References Forall_goto_functions.

§ replace_array_symbol()

void constant_propagator_ait::replace_array_symbol ( exprt expr)
protected

§ replace_types_rec()

void constant_propagator_ait::replace_types_rec ( const replace_symbolt replace_const,
exprt expr 
)
protected

Definition at line 543 of file constant_propagator.cpp.

References Forall_operands, and exprt::type().

Friends And Related Function Documentation

§ constant_propagator_domaint

friend class constant_propagator_domaint
friend

Definition at line 129 of file constant_propagator.h.


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