cprover
change_impactt Class Reference
Collaboration diagram for change_impactt:
[legend]

Public Member Functions

 change_impactt (const goto_modelt &model_old, const goto_modelt &model_new, impact_modet impact_mode, bool compact_output)
 
void operator() ()
 

Protected Types

enum  mod_flagt {
  SAME =0, NEW =1<<0, DELETED =1<<1, NEW_DATA_DEP =1<<2,
  DEL_DATA_DEP =1<<3, NEW_CTRL_DEP =1<<4, DEL_CTRL_DEP =1<<5
}
 
typedef std::map< goto_programt::const_targett, unsigned > goto_program_change_impactt
 
typedef std::map< irep_idt, goto_program_change_impacttgoto_functions_change_impactt
 

Protected Member Functions

void change_impact (const irep_idt &function)
 
void change_impact (const goto_programt &old_goto_program, const goto_programt &new_goto_program, const unified_difft::goto_program_difft &diff, goto_program_change_impactt &old_impact, goto_program_change_impactt &new_impact)
 
void propogate_dep_back (const dependence_grapht::nodet &d_node, const dependence_grapht &dep_graph, goto_functions_change_impactt &change_impact, bool del)
 
void propogate_dep_forward (const dependence_grapht::nodet &d_node, const dependence_grapht &dep_graph, goto_functions_change_impactt &change_impact, bool del)
 
void output_change_impact (const irep_idt &function, const goto_program_change_impactt &c_i, const goto_functionst &goto_functions, const namespacet &ns) const
 
void output_change_impact (const irep_idt &function, const goto_program_change_impactt &o_c_i, const goto_functionst &o_goto_functions, const namespacet &o_ns, const goto_program_change_impactt &n_c_i, const goto_functionst &n_goto_functions, const namespacet &n_ns) const
 
void output_instruction (char prefix, const goto_programt &goto_program, const namespacet &ns, const irep_idt &function, goto_programt::const_targett &target) const
 

Protected Attributes

impact_modet impact_mode
 
bool compact_output
 
const goto_functionstold_goto_functions
 
const namespacet ns_old
 
const goto_functionstnew_goto_functions
 
const namespacet ns_new
 
unified_difft unified_diff
 
dependence_grapht old_dep_graph
 
dependence_grapht new_dep_graph
 
goto_functions_change_impactt old_change_impact
 
goto_functions_change_impactt new_change_impact
 

Detailed Description

Definition at line 205 of file change_impact.cpp.

Member Typedef Documentation

◆ goto_functions_change_impactt

◆ goto_program_change_impactt

Definition at line 242 of file change_impact.cpp.

Member Enumeration Documentation

◆ mod_flagt

enum change_impactt::mod_flagt
protected
Enumerator
SAME 
NEW 
DELETED 
NEW_DATA_DEP 
DEL_DATA_DEP 
NEW_CTRL_DEP 
DEL_CTRL_DEP 

Definition at line 230 of file change_impact.cpp.

Constructor & Destructor Documentation

◆ change_impactt()

change_impactt::change_impactt ( const goto_modelt model_old,
const goto_modelt model_new,
impact_modet  impact_mode,
bool  compact_output 
)

Member Function Documentation

◆ change_impact() [1/2]

void change_impactt::change_impact ( const irep_idt function)
protected

◆ change_impact() [2/2]

◆ operator()()

void change_impactt::operator() ( void  )

◆ output_change_impact() [1/2]

void change_impactt::output_change_impact ( const irep_idt function,
const goto_program_change_impactt c_i,
const goto_functionst goto_functions,
const namespacet ns 
) const
protected

◆ output_change_impact() [2/2]

void change_impactt::output_change_impact ( const irep_idt function,
const goto_program_change_impactt o_c_i,
const goto_functionst o_goto_functions,
const namespacet o_ns,
const goto_program_change_impactt n_c_i,
const goto_functionst n_goto_functions,
const namespacet n_ns 
) const
protected

◆ output_instruction()

void change_impactt::output_instruction ( char  prefix,
const goto_programt goto_program,
const namespacet ns,
const irep_idt function,
goto_programt::const_targett target 
) const
protected

◆ propogate_dep_back()

void change_impactt::propogate_dep_back ( const dependence_grapht::nodet d_node,
const dependence_grapht dep_graph,
goto_functions_change_impactt change_impact,
bool  del 
)
protected

◆ propogate_dep_forward()

void change_impactt::propogate_dep_forward ( const dependence_grapht::nodet d_node,
const dependence_grapht dep_graph,
goto_functions_change_impactt change_impact,
bool  del 
)
protected

Member Data Documentation

◆ compact_output

bool change_impactt::compact_output
protected

Definition at line 218 of file change_impact.cpp.

Referenced by output_change_impact(), and output_instruction().

◆ impact_mode

impact_modet change_impactt::impact_mode
protected

Definition at line 217 of file change_impact.cpp.

Referenced by change_impact().

◆ new_change_impact

goto_functions_change_impactt change_impactt::new_change_impact
protected

Definition at line 246 of file change_impact.cpp.

Referenced by change_impact(), and operator()().

◆ new_dep_graph

dependence_grapht change_impactt::new_dep_graph
protected

Definition at line 228 of file change_impact.cpp.

Referenced by change_impact(), and change_impactt().

◆ new_goto_functions

const goto_functionst& change_impactt::new_goto_functions
protected

Definition at line 222 of file change_impact.cpp.

Referenced by change_impact(), change_impactt(), and operator()().

◆ ns_new

const namespacet change_impactt::ns_new
protected

Definition at line 223 of file change_impact.cpp.

Referenced by change_impactt(), and operator()().

◆ ns_old

const namespacet change_impactt::ns_old
protected

Definition at line 221 of file change_impact.cpp.

Referenced by change_impactt(), and operator()().

◆ old_change_impact

goto_functions_change_impactt change_impactt::old_change_impact
protected

Definition at line 246 of file change_impact.cpp.

Referenced by change_impact(), and operator()().

◆ old_dep_graph

dependence_grapht change_impactt::old_dep_graph
protected

Definition at line 227 of file change_impact.cpp.

Referenced by change_impact(), and change_impactt().

◆ old_goto_functions

const goto_functionst& change_impactt::old_goto_functions
protected

Definition at line 220 of file change_impact.cpp.

Referenced by change_impact(), change_impactt(), and operator()().

◆ unified_diff

unified_difft change_impactt::unified_diff
protected

Definition at line 225 of file change_impact.cpp.

Referenced by change_impact(), and change_impactt().


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