cprover
Loading...
Searching...
No Matches
lambda_synthesis.h
Go to the documentation of this file.
1/*******************************************************************\
2
3Module: Java lambda code synthesis
4
5Author: 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
20class codet;
22class symbol_tablet;
23
26 std::size_t instruction_address);
27
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
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
Definition ai.h:564
Data structure for representing an arbitrary statement in a program.
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Definition dstring.h:37
The symbol table base class interface.
The symbol table.
codet invokedynamic_synthetic_constructor(const irep_idt &function_id, symbol_table_baset &symbol_table, message_handlert &message_handler)
Create invokedynamic synthetic constructor.
codet invokedynamic_synthetic_method(const irep_idt &function_id, symbol_table_baset &symbol_table, message_handlert &message_handler)
Create invokedynamic synthetic method.
irep_idt lambda_synthetic_class_name(const irep_idt &method_identifier, std::size_t instruction_address)
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)
std::vector< instructiont > instructionst
Synthetic methods are particular methods internally generated by the Java frontend,...
std::unordered_map< irep_idt, synthetic_method_typet > synthetic_methods_mapt
Maps method names on to a synthetic method kind.