10 #ifndef CPROVER_JAVA_BYTECODE_JAVA_BYTECODE_PARSE_TREE_H 11 #define CPROVER_JAVA_BYTECODE_JAVA_BYTECODE_PARSE_TREE_H 27 #ifndef _MSC_VER // Ommit this on MS VC2013 as move is not supported. 46 void output(std::ostream &)
const;
52 void output(std::ostream &)
const;
59 const irep_idt &annotation_type_name);
67 typedef std::vector<exprt>
argst;
80 virtual void output(std::ostream &out)
const = 0;
161 typedef std::vector<verification_type_infot>
163 typedef std::vector<verification_type_infot>
173 virtual void output(std::ostream &out)
const;
189 virtual void output(std::ostream &out)
const;
200 #ifndef _MSC_VER // Ommit this on MS VC2013 as move is not supported. 243 lambda_method_handle.
u2_values = std::move(params);
244 return lambda_method_handle;
291 void output(std::ostream &out)
const;
298 void output(std::ostream &out)
const;
322 set(ID_class, class_name);
323 set(ID_component_name, component_name);
327 #endif // CPROVER_JAVA_BYTECODE_JAVA_BYTECODE_PARSE_TREE_H
The type of an expression.
static lambda_method_handlet create_unknown_handle(const u2_valuest params)
static optionalt< annotationt > find_annotation(const annotationst &annotations, const irep_idt &annotation_type_name)
Find an annotation given its name.
stack_verification_type_infot stack
bool is_unknown_handle() const
virtual void output(std::ostream &out) const =0
source_locationt source_location
virtual void output(std::ostream &out) const
exception_tablet exception_table
verification_type_info_type
method_handle_typet handle_type
Represents the argument of an instruction that uses a CONSTANT_Fieldref This is used for example as a...
virtual ~methodt()=default
java_bytecode_parse_treet & operator=(const java_bytecode_parse_treet &)=delete
lambda_method_handle_mapt lambda_method_handle_map
instructionst instructions
std::vector< annotationt > annotationst
const lambda_method_handlet & get_method_handle(size_t bootstrap_index) const
void output(std::ostream &) const
A reference into the symbol table.
verification_type_info_type type
nonstd::optional< T > optionalt
bool attribute_bootstrapmethods_read
optionalt< std::string > signature
std::vector< verification_type_infot > stack_verification_type_infot
void output(std::ostream &out) const
std::vector< instructiont > instructionst
classt & operator=(const classt &)=delete
virtual ~fieldt()=default
java_bytecode_parse_treet::classt::lambda_method_handlet lambda_method_handlet
java_bytecode_parse_treet::methodt methodt
virtual ~java_bytecode_parse_treet()=default
std::vector< verification_type_infot > local_verification_type_infot
void output(std::ostream &out) const
std::set< irep_idt > class_refst
std::list< methodt > methodst
std::vector< element_value_pairt > element_value_pairst
std::vector< exceptiont > exception_tablet
std::vector< stack_map_table_entryt > stack_map_tablet
stack_map_tablet stack_map_table
java_bytecode_parse_treet()
element_value_pairst element_value_pairs
irep_idt lambda_method_ref
Base class for all expressions.
source_locationt source_location
irep_idt lambda_method_name
optionalt< std::string > signature
std::vector< u2 > u2_valuest
std::vector< local_variablet > local_variable_tablet
void output(std::ostream &) const
std::vector< exprt > argst
local_verification_type_infot locals
virtual void output(std::ostream &out) const
void add_method_handle(size_t bootstrap_index, lambda_method_handlet handle)
std::list< irep_idt > implementst
local_variable_tablet local_variable_table
fieldref_exprt(const typet &type, const irep_idt &component_name, const irep_idt &class_name)
instructiont & add_instruction()
optionalt< std::string > signature
std::map< std::pair< irep_idt, size_t >, lambda_method_handlet > lambda_method_handle_mapt
std::list< fieldt > fieldst