cprover
escape_analysist Class Reference

#include <escape_analysis.h>

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

Public Member Functions

void instrument (goto_functionst &, const namespacet &)
 
- Public Member Functions inherited from ait< escape_domaint >
 ait ()
 
escape_domaintoperator[] (locationt l)
 
const escape_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

virtual void initialize (const goto_functionst &_goto_functions)
 
void insert_cleanup (goto_functionst::goto_functiont &, goto_programt::targett, const exprt &, const std::set< irep_idt > &, bool is_object, const namespacet &)
 
- Protected Member Functions inherited from ait< escape_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 &)
 
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)
 

Protected Attributes

numbering< irep_idtbits
 
- Protected Attributes inherited from ait< escape_domaint >
state_mapt state_map
 
- Protected Attributes inherited from ai_baset
recursion_sett recursion_set
 

Additional Inherited Members

- Public Types inherited from ait< escape_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< escape_domaint >
typedef std::unordered_map< locationt, escape_domaint, const_target_hashstate_mapt
 
- Protected Types inherited from ai_baset
typedef std::map< unsigned, locationtworking_sett
 
typedef std::set< irep_idtrecursion_sett
 

Detailed Description

Definition at line 95 of file escape_analysis.h.

Member Function Documentation

§ initialize()

virtual void escape_analysist::initialize ( const goto_functionst _goto_functions)
inlineprotectedvirtual

Reimplemented from ai_baset.

Definition at line 103 of file escape_analysis.h.

§ insert_cleanup()

void escape_analysist::insert_cleanup ( goto_functionst::goto_functiont goto_function,
goto_programt::targett  location,
const exprt lhs,
const std::set< irep_idt > &  cleanup_functions,
bool  is_object,
const namespacet ns 
)
protected

§ instrument()

Member Data Documentation

§ bits

numbering<irep_idt> escape_analysist::bits
protected

Definition at line 107 of file escape_analysis.h.


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