CBMC
lambda_synthesis.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Java lambda code synthesis
4 
5 Author: Diffblue Ltd.
6 
7 \*******************************************************************/
8 
11 
12 #ifndef CPROVER_JAVA_BYTECODE_LAMBDA_SYNTHESIS_H
13 #define CPROVER_JAVA_BYTECODE_LAMBDA_SYNTHESIS_H
14 
17 #include <util/irep.h>
18 
19 class message_handlert;
20 class codet;
21 class symbol_table_baset;
22 class symbol_tablet;
23 
25  const irep_idt &method_identifier,
26  std::size_t instruction_address);
27 
29  const irep_idt &method_identifier,
31  symbol_tablet &symbol_table,
32  synthetic_methods_mapt &synthetic_methods,
33  message_handlert &message_handler);
34 
37  const irep_idt &function_id,
38  symbol_table_baset &symbol_table,
39  message_handlert &message_handler);
40 
43  const irep_idt &function_id,
44  symbol_table_baset &symbol_table,
45  message_handlert &message_handler);
46 
47 #endif // CPROVER_JAVA_BYTECODE_LAMBDA_SYNTHESIS_H
dstringt
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Definition: dstring.h:36
symbol_tablet
The symbol table.
Definition: symbol_table.h:13
lambda_synthetic_class_name
irep_idt lambda_synthetic_class_name(const irep_idt &method_identifier, std::size_t instruction_address)
Definition: lambda_synthesis.cpp:38
invokedynamic_synthetic_constructor
codet invokedynamic_synthetic_constructor(const irep_idt &function_id, symbol_table_baset &symbol_table, message_handlert &message_handler)
Create invokedynamic synthetic constructor.
Definition: lambda_synthesis.cpp:479
create_invokedynamic_synthetic_classes
void create_invokedynamic_synthetic_classes(const irep_idt &method_identifier, const java_bytecode_parse_treet::methodt::instructionst &instructions, symbol_tablet &symbol_table, synthetic_methods_mapt &synthetic_methods, message_handlert &message_handler)
Definition: lambda_synthesis.cpp:403
java_bytecode_parse_treet::methodt::instructionst
std::vector< instructiont > instructionst
Definition: java_bytecode_parse_tree.h:91
synthetic_methods_mapt
std::unordered_map< irep_idt, synthetic_method_typet > synthetic_methods_mapt
Maps method names on to a synthetic method kind.
Definition: synthetic_methods_map.h:57
java_bytecode_parse_tree.h
symbol_table_baset
The symbol table base class interface.
Definition: symbol_table_base.h:21
message_handlert
Definition: message.h:27
synthetic_methods_map.h
invokedynamic_synthetic_method
codet invokedynamic_synthetic_method(const irep_idt &function_id, symbol_table_baset &symbol_table, message_handlert &message_handler)
Create invokedynamic synthetic method.
Definition: lambda_synthesis.cpp:777
irep.h
codet
Data structure for representing an arbitrary statement in a program.
Definition: std_code_base.h:28