CBMC
remove_instanceof.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Remove Instance-of Operators
4 
5 Author: Chris Smowton, chris.smowton@diffblue.com
6 
7 \*******************************************************************/
8 
78 
79 #ifndef CPROVER_JAVA_BYTECODE_REMOVE_INSTANCEOF_H
80 #define CPROVER_JAVA_BYTECODE_REMOVE_INSTANCEOF_H
81 
83 
84 class class_hierarchyt;
85 class goto_modelt;
86 class message_handlert;
87 class symbol_table_baset;
88 
90  const irep_idt &function_identifier,
92  goto_programt &goto_program,
93  symbol_table_baset &symbol_table,
94  const class_hierarchyt &class_hierarchy,
96 
98  const irep_idt &function_identifier,
100  symbol_table_baset &symbol_table,
101  const class_hierarchyt &class_hierarchy,
102  message_handlert &);
103 
104 void remove_instanceof(
105  goto_functionst &goto_functions,
106  symbol_table_baset &symbol_table,
107  const class_hierarchyt &class_hierarchy,
108  message_handlert &);
109 
110 void remove_instanceof(
111  goto_modelt &model,
112  const class_hierarchyt &class_hierarchy,
113  message_handlert &);
114 
115 #endif
Non-graph-based representation of the class hierarchy.
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Definition: dstring.h:38
A collection of goto functions.
::goto_functiont goto_functiont
A generic container class for the GOTO intermediate representation of one function.
Definition: goto_program.h:73
instructionst::iterator targett
Definition: goto_program.h:614
The symbol table base class interface.
Goto Programs with Functions.
void remove_instanceof(const irep_idt &function_identifier, goto_programt::targett target, goto_programt &goto_program, symbol_table_baset &symbol_table, const class_hierarchyt &class_hierarchy, message_handlert &)
Replace an instanceof in the expression or guard of the passed instruction of the given function body...