CBMC
java_bytecode_instrument.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Instrument codet with assertions/runtime exceptions
4 
5 Author: Cristina David
6 
7 Date: June 2017
8 
9 \*******************************************************************/
10 
11 #ifndef CPROVER_JAVA_BYTECODE_JAVA_BYTECODE_INSTRUMENT_H
12 #define CPROVER_JAVA_BYTECODE_JAVA_BYTECODE_INSTRUMENT_H
13 
14 #include <string>
15 #include <vector>
16 
17 class code_blockt;
18 class message_handlert;
19 class symbol_table_baset;
20 class symbol_tablet;
21 class symbolt;
22 class source_locationt;
23 
25  symbol_table_baset &symbol_table,
26  symbolt &symbol,
27  const bool throw_runtime_exceptions,
28  message_handlert &_message_handler);
29 
31  symbol_tablet &symbol_table,
32  const bool throw_runtime_exceptions,
33  message_handlert &_message_handler);
34 
36  code_blockt &init_code,
37  const symbolt &exc_symbol,
38  const source_locationt &source_location);
39 
40 extern const std::vector<std::string> exception_needed_classes;
41 
42 #endif
code_blockt
A codet representing sequential composition of program statements.
Definition: std_code.h:129
symbol_tablet
The symbol table.
Definition: symbol_table.h:13
exception_needed_classes
const std::vector< std::string > exception_needed_classes
Definition: java_bytecode_instrument.cpp:77
symbol_table_baset
The symbol table base class interface.
Definition: symbol_table_base.h:21
java_bytecode_instrument_symbol
void java_bytecode_instrument_symbol(symbol_table_baset &symbol_table, symbolt &symbol, const bool throw_runtime_exceptions, message_handlert &_message_handler)
Instruments the code attached to symbol with runtime exceptions or corresponding assertions.
Definition: java_bytecode_instrument.cpp:543
message_handlert
Definition: message.h:27
source_locationt
Definition: source_location.h:18
java_bytecode_instrument_uncaught_exceptions
void java_bytecode_instrument_uncaught_exceptions(code_blockt &init_code, const symbolt &exc_symbol, const source_locationt &source_location)
Instruments the start function with an assertion that checks whether an exception has escaped the ent...
Definition: java_bytecode_instrument.cpp:566
symbolt
Symbol table entry.
Definition: symbol.h:27
java_bytecode_instrument
void java_bytecode_instrument(symbol_tablet &symbol_table, const bool throw_runtime_exceptions, message_handlert &_message_handler)
Instruments all the code in the symbol_table with runtime exceptions or corresponding assertions.
Definition: java_bytecode_instrument.cpp:593