20 if(!it->second.body_available())
23 goto_functionst::function_mapt::const_iterator f_it =
27 !f_it->second.body_available())
39 bool function_access_changed =
41 bool class_access_changed =
false;
42 bool field_access_changed =
false;
43 if(!class_name.
empty())
49 class_access_changed =
53 for(
const auto &field1 : class_type1.
components())
55 for(
const auto &field2 : class_type2.
components())
57 if(field1.get_name() == field2.get_name())
59 field_access_changed = field1.get_access() != field2.get_access();
63 if(field_access_changed)
67 if(function_access_changed || class_access_changed || field_access_changed)
73 if(!it->second.body.equals(f_it->second.body))
79 goto_programt::instructionst::const_iterator i_it1 =
80 it->second.body.instructions.begin();
81 for(goto_programt::instructionst::const_iterator
82 i_it2 = f_it->second.body.instructions.begin();
83 i_it1 != it->second.body.instructions.end() &&
84 i_it2 != f_it->second.body.instructions.end();
87 if(i_it1->function != i_it2->function)
96 if(!it->second.body_available())
101 goto_functionst::function_mapt::const_iterator f_it =
105 !f_it->second.body_available())
const goto_modelt & goto_model1
virtual bool operator()()
const goto_modelt & goto_model2
const componentst & components() const
function_mapt function_map
const class_typet & to_class_type(const typet &type)
Cast a typet to a class_typet.
symbol_tablet symbol_table
Symbol table.
#define CHECK_RETURN(CONDITION)
Syntactic GOTO-DIFF for Java.
unsigned total_functions_count
const irep_idt & get(const irep_namet &name) const
dstringt has one field, an unsigned integer no which is an index into a static table of strings...
std::set< irep_idt > modified_functions
typet type
Type of symbol.
#define forall_goto_functions(it, functions)
const symbolt * lookup(const irep_idt &name) const
Find a symbol in the symbol table for read-only access.
goto_functionst goto_functions
GOTO functions.
std::set< irep_idt > deleted_functions
std::set< irep_idt > new_functions