cprover
unified_difft Class Reference

#include <unified_diff.h>

Collaboration diagram for unified_difft:
[legend]

Public Types

enum  differencet { differencet::SAME, differencet::DELETED, differencet::NEW }
 
typedef std::list< std::pair< goto_programt::const_targett, differencet > > goto_program_difft
 
typedef std::vector< differencetdifferencest
 
typedef std::map< irep_idt, differencestdifferences_mapt
 

Public Member Functions

 unified_difft (const goto_modelt &model_old, const goto_modelt &model_new)
 
bool operator() ()
 
void output (std::ostream &os) const
 
goto_program_difft get_diff (const irep_idt &function) const
 
void unified_diff (const irep_idt &identifier, const goto_programt &old_goto_program, const goto_programt &new_goto_program)
 
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
 
const differences_maptdifferences_map () const
 

Static Public Member Functions

static differencest lcss (const irep_idt &identifier, const goto_programt &old_goto_program, const goto_programt &new_goto_program)
 
static goto_program_difft get_diff (const goto_programt &old_goto_program, const goto_programt &new_goto_program, const differencest &differences)
 
static bool instructions_equal (const goto_programt::instructiont &ins1, const goto_programt::instructiont &ins2)
 

Public Attributes

const goto_functionstold_goto_functions
 
const namespacet ns_old
 
const goto_functionstnew_goto_functions
 
const namespacet ns_new
 

Private Attributes

differences_mapt differences_map_
 

Detailed Description

Definition at line 30 of file unified_diff.h.

Member Typedef Documentation

◆ differences_mapt

Definition at line 57 of file unified_diff.h.

◆ differencest

Definition at line 56 of file unified_diff.h.

◆ goto_program_difft

Definition at line 47 of file unified_diff.h.

Member Enumeration Documentation

◆ differencet

Enumerator
SAME 
DELETED 
NEW 

Definition at line 39 of file unified_diff.h.

Constructor & Destructor Documentation

◆ unified_difft()

unified_difft::unified_difft ( const goto_modelt model_old,
const goto_modelt model_new 
)

Definition at line 20 of file unified_diff.cpp.

Member Function Documentation

◆ differences_map()

const unified_difft::differences_mapt & unified_difft::differences_map ( ) const

Definition at line 403 of file unified_diff.cpp.

References differences_map_.

◆ get_diff() [1/2]

unified_difft::goto_program_difft unified_difft::get_diff ( const irep_idt function) const

◆ get_diff() [2/2]

unified_difft::goto_program_difft unified_difft::get_diff ( const goto_programt old_goto_program,
const goto_programt new_goto_program,
const differencest differences 
)
static

Definition at line 54 of file unified_diff.cpp.

References DELETED, goto_programt::instructions, INVARIANT, NEW, and SAME.

◆ instructions_equal()

◆ lcss()

unified_difft::differencest unified_difft::lcss ( const irep_idt identifier,
const goto_programt old_goto_program,
const goto_programt new_goto_program 
)
static

Definition at line 147 of file unified_diff.cpp.

References DELETED, goto_programt::instructions, instructions_equal(), NEW, and SAME.

Referenced by unified_diff().

◆ operator()()

bool unified_difft::operator() ( void  )

◆ output()

void unified_difft::output ( std::ostream &  os) const

◆ output_diff()

void unified_difft::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

Definition at line 103 of file unified_diff.cpp.

References DELETED, get_diff(), NEW, ns_new, ns_old, goto_programt::output_instruction(), and SAME.

Referenced by output().

◆ unified_diff()

void unified_difft::unified_diff ( const irep_idt identifier,
const goto_programt old_goto_program,
const goto_programt new_goto_program 
)

Definition at line 306 of file unified_diff.cpp.

References DELETED, differences_map_, goto_programt::instructions, lcss(), and NEW.

Referenced by operator()().

Member Data Documentation

◆ differences_map_

differences_mapt unified_difft::differences_map_
private

Definition at line 88 of file unified_diff.h.

Referenced by differences_map(), get_diff(), operator()(), output(), and unified_diff().

◆ new_goto_functions

const goto_functionst& unified_difft::new_goto_functions

Definition at line 53 of file unified_diff.h.

Referenced by get_diff(), operator()(), and output().

◆ ns_new

const namespacet unified_difft::ns_new

Definition at line 54 of file unified_diff.h.

Referenced by output_diff().

◆ ns_old

const namespacet unified_difft::ns_old

Definition at line 52 of file unified_diff.h.

Referenced by output_diff().

◆ old_goto_functions

const goto_functionst& unified_difft::old_goto_functions

Definition at line 51 of file unified_diff.h.

Referenced by get_diff(), operator()(), and output().


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