14 #ifndef CPROVER_GOTO_DIFF_UNIFIED_DIFF_H 15 #define CPROVER_GOTO_DIFF_UNIFIED_DIFF_H 39 void output(std::ostream &os)
const;
76 differencest &differences)
const;
82 const differencest &differences,
89 const differencest &differences,
90 std::ostream &os)
const;
93 const goto_programt::instructiont &ins1,
94 const goto_programt::instructiont &ins2,
95 bool recurse=
true)
const 98 ins1.code==ins2.code &&
99 ins1.function==ins2.function &&
100 ins1.type==ins2.type &&
101 ins1.guard==ins2.guard &&
102 ins1.targets.size()==ins2.targets.size() &&
103 (ins1.targets.empty() ||
111 #endif // CPROVER_GOTO_DIFF_UNIFIED_DIFF_H const goto_functionst & old_goto_functions
std::map< irep_idt, differencest > differences_mapt
void output_diff(const irep_idt &identifier, const goto_programt &old_goto_program, const goto_programt &new_goto_program, const differencest &differences, std::ostream &os) const
instructionst::const_iterator const_targett
unified_difft(const goto_modelt &model_old, const goto_modelt &model_new)
std::vector< differencet > differencest
differences_mapt differences_map
A specialization of goto_program_templatet over goto programs in which instructions have codet type...
void output(std::ostream &os) const
void unified_diff(const irep_idt &identifier, const goto_programt &old_goto_program, const goto_programt &new_goto_program)
bool instructions_equal(const goto_programt::instructiont &ins1, const goto_programt::instructiont &ins2, bool recurse=true) const
std::list< std::pair< goto_programt::const_targett, differencet > > goto_program_difft
void get_diff(const irep_idt &function, goto_program_difft &dest) const
const goto_functionst & new_goto_functions
void lcss(const irep_idt &identifier, const goto_programt &old_goto_program, const goto_programt &new_goto_program, differencest &differences) const