cprover
|
Remove Instance-of Operators. More...
#include "remove_instanceof.h"
#include <goto-programs/class_hierarchy.h>
#include <goto-programs/class_identifier.h>
#include <goto-programs/goto_convert.h>
#include <util/fresh_symbol.h>
#include <java_bytecode/java_types.h>
#include <sstream>
Go to the source code of this file.
Classes | |
class | remove_instanceoft |
Functions | |
static bool | contains_instanceof (const exprt &e) |
void | remove_instanceof (goto_programt::targett target, goto_programt &goto_program, symbol_table_baset &symbol_table, message_handlert &message_handler) |
Replace an instanceof in the expression or guard of the passed instruction of the given function body with an explicit class-identifier test. More... | |
void | remove_instanceof (goto_functionst::goto_functiont &function, symbol_table_baset &symbol_table, message_handlert &message_handler) |
Replace every instanceof in the passed function with an explicit class-identifier test. More... | |
void | remove_instanceof (goto_functionst &goto_functions, symbol_table_baset &symbol_table, message_handlert &message_handler) |
Replace every instanceof in every function with an explicit class-identifier test. More... | |
void | remove_instanceof (goto_modelt &goto_model, message_handlert &message_handler) |
Replace every instanceof in every function with an explicit class-identifier test. More... | |
Remove Instance-of Operators.
Definition in file remove_instanceof.cpp.
|
static |
Definition at line 175 of file remove_instanceof.cpp.
References irept::id(), and exprt::operands().
Referenced by remove_instanceoft::lower_instanceof().
void remove_instanceof | ( | goto_programt::targett | target, |
goto_programt & | goto_program, | ||
symbol_table_baset & | symbol_table, | ||
message_handlert & | message_handler | ||
) |
Replace an instanceof in the expression or guard of the passed instruction of the given function body with an explicit class-identifier test.
target | The instruction to work on. |
goto_program | The function body containing the instruction. |
symbol_table | The symbol table to add symbols to. |
message_handler | logging output |
Definition at line 244 of file remove_instanceof.cpp.
References goto_program, remove_instanceoft::lower_instanceof(), and message_handler.
Referenced by remove_exceptionst::add_exception_dispatch_sequence(), jbmc_parse_optionst::process_goto_function(), jdiff_parse_optionst::process_goto_program(), janalyzer_parse_optionst::process_goto_program(), and remove_instanceof().
void remove_instanceof | ( | goto_functionst::goto_functiont & | function, |
symbol_table_baset & | symbol_table, | ||
message_handlert & | message_handler | ||
) |
Replace every instanceof in the passed function with an explicit class-identifier test.
function | The function to work on. |
symbol_table | The symbol table to add symbols to. |
message_handler | logging output |
Definition at line 260 of file remove_instanceof.cpp.
References remove_instanceoft::lower_instanceof(), and message_handler.
void remove_instanceof | ( | goto_functionst & | goto_functions, |
symbol_table_baset & | symbol_table, | ||
message_handlert & | message_handler | ||
) |
Replace every instanceof in every function with an explicit class-identifier test.
goto_functions | The functions to work on. |
symbol_table | The symbol table to add symbols to. |
message_handler | logging output |
Definition at line 275 of file remove_instanceof.cpp.
References goto_functionst::compute_location_numbers(), goto_functionst::function_map, remove_instanceoft::lower_instanceof(), and message_handler.
void remove_instanceof | ( | goto_modelt & | goto_model, |
message_handlert & | message_handler | ||
) |
Replace every instanceof in every function with an explicit class-identifier test.
goto_model | The functions to work on and the symbol table to add |
message_handler | logging output symbols to. |
Definition at line 294 of file remove_instanceof.cpp.
References goto_modelt::goto_functions, message_handler, remove_instanceof(), and goto_modelt::symbol_table.