CBMC
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
remove_exceptions.h
Go to the documentation of this file.
1/*******************************************************************\
2
3Module: Remove function exceptional returns
4
5Author: Cristina David
6
7Date: December 2016
8
9\*******************************************************************/
10
13
14#ifndef CPROVER_JAVA_BYTECODE_REMOVE_EXCEPTIONS_H
15#define CPROVER_JAVA_BYTECODE_REMOVE_EXCEPTIONS_H
16
17#include <util/irep.h>
18
20class goto_modelt;
21class goto_programt;
24
25#define INFLIGHT_EXCEPTION_VARIABLE_BASENAME "@inflight_exception"
26#define INFLIGHT_EXCEPTION_VARIABLE_NAME \
27 "java::" INFLIGHT_EXCEPTION_VARIABLE_BASENAME
28
33 const irep_idt &function_identifier,
37
42
47 const irep_idt &function_identifier,
50 const class_hierarchyt &,
52
58 const class_hierarchyt &,
60
61#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 generic container class for the GOTO intermediate representation of one function.
The symbol table base class interface.
void remove_exceptions(const irep_idt &function_identifier, goto_programt &, symbol_table_baset &, const class_hierarchyt &, message_handlert &)
Removes 'throw x' and CATCH-PUSH/CATCH-POP and adds the required instrumentation (GOTOs and assignmen...
void remove_exceptions_using_instanceof(const irep_idt &function_identifier, goto_programt &, symbol_table_baset &, message_handlert &)
Removes 'throw x' and CATCH-PUSH/CATCH-POP and adds the required instrumentation (GOTOs and assignmen...