cprover
|
#include <java_bytecode_parse_tree.h>
Classes | |
struct | lambda_method_handlet |
Public Types | |
enum | method_handle_typet { method_handle_typet::LAMBDA_METHOD_HANDLE, method_handle_typet::UNKNOWN_HANDLE } |
typedef std::vector< u2 > | u2_valuest |
typedef std::map< std::pair< irep_idt, size_t >, lambda_method_handlet > | lambda_method_handle_mapt |
typedef std::list< irep_idt > | implementst |
typedef std::list< fieldt > | fieldst |
typedef std::list< methodt > | methodst |
Public Member Functions | |
classt ()=default | |
classt (const classt &)=delete | |
classt & | operator= (const classt &)=delete |
classt (classt &&)=default | |
classt & | operator= (classt &&)=default |
fieldt & | add_field () |
methodt & | add_method () |
void | add_method_handle (size_t bootstrap_index, lambda_method_handlet handle) |
const lambda_method_handlet & | get_method_handle (size_t bootstrap_index) const |
void | output (std::ostream &out) const |
Public Attributes | |
irep_idt | name |
irep_idt | super_class |
bool | is_abstract =false |
bool | is_enum =false |
bool | is_public =false |
bool | is_protected =false |
bool | is_private =false |
bool | is_final = false |
bool | is_interface = false |
bool | is_synthetic = false |
bool | is_annotation = false |
bool | is_inner_class = false |
bool | is_static_class = false |
bool | is_anonymous_class = false |
bool | attribute_bootstrapmethods_read = false |
irep_idt | outer_class |
size_t | enum_elements =0 |
lambda_method_handle_mapt | lambda_method_handle_map |
implementst | implements |
optionalt< std::string > | signature |
fieldst | fields |
methodst | methods |
annotationst | annotations |
Definition at line 189 of file java_bytecode_parse_tree.h.
typedef std::list<fieldt> java_bytecode_parse_treet::classt::fieldst |
Definition at line 261 of file java_bytecode_parse_tree.h.
typedef std::list<irep_idt> java_bytecode_parse_treet::classt::implementst |
Definition at line 258 of file java_bytecode_parse_tree.h.
typedef std::map<std::pair<irep_idt, size_t>, lambda_method_handlet> java_bytecode_parse_treet::classt::lambda_method_handle_mapt |
Definition at line 255 of file java_bytecode_parse_tree.h.
typedef std::list<methodt> java_bytecode_parse_treet::classt::methodst |
Definition at line 262 of file java_bytecode_parse_tree.h.
typedef std::vector<u2> java_bytecode_parse_treet::classt::u2_valuest |
Definition at line 223 of file java_bytecode_parse_tree.h.
Enumerator | |
---|---|
LAMBDA_METHOD_HANDLE | |
UNKNOWN_HANDLE |
Definition at line 217 of file java_bytecode_parse_tree.h.
|
default |
|
delete |
|
default |
|
inline |
Definition at line 267 of file java_bytecode_parse_tree.h.
References fields.
Referenced by java_bytecode_parsert::rfields().
|
inline |
Definition at line 273 of file java_bytecode_parse_tree.h.
References methods.
Referenced by java_bytecode_parsert::rmethod().
|
inline |
Definition at line 279 of file java_bytecode_parse_tree.h.
References lambda_method_handle_map, and name.
Referenced by java_bytecode_parsert::read_bootstrapmethods_entry(), and java_bytecode_parsert::store_unknown_method_handle().
|
inline |
Definition at line 284 of file java_bytecode_parse_tree.h.
References lambda_method_handle_map, and name.
void java_bytecode_parse_treet::classt::output | ( | std::ostream & | out | ) | const |
Definition at line 32 of file java_bytecode_parse_tree.cpp.
References annotations, dstringt::empty(), fields, methods, name, and super_class.
Referenced by java_bytecode_parse_treet::output().
annotationst java_bytecode_parse_treet::classt::annotations |
Definition at line 265 of file java_bytecode_parse_tree.h.
Referenced by is_overlay_class(), output(), and java_bytecode_parsert::rclass_attribute().
bool java_bytecode_parse_treet::classt::attribute_bootstrapmethods_read = false |
Definition at line 213 of file java_bytecode_parse_tree.h.
Referenced by java_bytecode_parsert::rclass_attribute().
size_t java_bytecode_parse_treet::classt::enum_elements =0 |
Definition at line 215 of file java_bytecode_parse_tree.h.
Referenced by java_bytecode_convert_classt::convert(), and java_bytecode_parsert::rClassFile().
fieldst java_bytecode_parse_treet::classt::fields |
Definition at line 263 of file java_bytecode_parse_tree.h.
Referenced by add_field(), java_bytecode_parsert::get_class_refs(), output(), and java_bytecode_parsert::rClassFile().
implementst java_bytecode_parse_treet::classt::implements |
Definition at line 259 of file java_bytecode_parse_tree.h.
Referenced by java_bytecode_convert_classt::convert(), and java_bytecode_parsert::rinterfaces().
bool java_bytecode_parse_treet::classt::is_abstract =false |
Definition at line 203 of file java_bytecode_parse_tree.h.
Referenced by java_bytecode_convert_classt::convert(), and java_bytecode_parsert::rClassFile().
bool java_bytecode_parse_treet::classt::is_annotation = false |
Definition at line 209 of file java_bytecode_parse_tree.h.
Referenced by java_bytecode_convert_classt::convert(), and java_bytecode_parsert::rClassFile().
bool java_bytecode_parse_treet::classt::is_anonymous_class = false |
Definition at line 212 of file java_bytecode_parse_tree.h.
Referenced by java_bytecode_convert_classt::convert(), and java_bytecode_parsert::rinner_classes_attribute().
bool java_bytecode_parse_treet::classt::is_enum =false |
Definition at line 204 of file java_bytecode_parse_tree.h.
Referenced by java_bytecode_convert_classt::convert(), and java_bytecode_parsert::rClassFile().
bool java_bytecode_parse_treet::classt::is_final = false |
Definition at line 206 of file java_bytecode_parse_tree.h.
Referenced by java_bytecode_convert_classt::convert(), and java_bytecode_parsert::rClassFile().
bool java_bytecode_parse_treet::classt::is_inner_class = false |
Definition at line 210 of file java_bytecode_parse_tree.h.
Referenced by java_bytecode_convert_classt::convert(), and java_bytecode_parsert::rinner_classes_attribute().
bool java_bytecode_parse_treet::classt::is_interface = false |
Definition at line 207 of file java_bytecode_parse_tree.h.
Referenced by java_bytecode_convert_classt::convert(), and java_bytecode_parsert::rClassFile().
bool java_bytecode_parse_treet::classt::is_private =false |
Definition at line 205 of file java_bytecode_parse_tree.h.
Referenced by java_bytecode_convert_classt::convert(), java_bytecode_parsert::rClassFile(), and java_bytecode_parsert::rinner_classes_attribute().
bool java_bytecode_parse_treet::classt::is_protected =false |
Definition at line 205 of file java_bytecode_parse_tree.h.
Referenced by java_bytecode_convert_classt::convert(), java_bytecode_parsert::rClassFile(), and java_bytecode_parsert::rinner_classes_attribute().
bool java_bytecode_parse_treet::classt::is_public =false |
Definition at line 205 of file java_bytecode_parse_tree.h.
Referenced by java_bytecode_convert_classt::convert(), java_bytecode_parsert::rClassFile(), and java_bytecode_parsert::rinner_classes_attribute().
bool java_bytecode_parse_treet::classt::is_static_class = false |
Definition at line 211 of file java_bytecode_parse_tree.h.
Referenced by java_bytecode_convert_classt::convert(), and java_bytecode_parsert::rinner_classes_attribute().
bool java_bytecode_parse_treet::classt::is_synthetic = false |
Definition at line 208 of file java_bytecode_parse_tree.h.
Referenced by java_bytecode_convert_classt::convert(), and java_bytecode_parsert::rClassFile().
lambda_method_handle_mapt java_bytecode_parse_treet::classt::lambda_method_handle_map |
Definition at line 256 of file java_bytecode_parse_tree.h.
Referenced by add_method_handle(), get_method_handle(), and require_parse_tree::require_lambda_entry_for_descriptor().
methodst java_bytecode_parse_treet::classt::methods |
Definition at line 264 of file java_bytecode_parse_tree.h.
Referenced by add_method(), create_stub_global_symbols(), ci_lazy_methodst::entry_point_methods(), generate_constant_global_variables(), java_bytecode_parsert::get_class_refs(), infer_opaque_type_fields(), output(), java_bytecode_parsert::rclass_attribute(), and require_parse_tree::require_method().
irep_idt java_bytecode_parse_treet::classt::name |
Definition at line 202 of file java_bytecode_parse_tree.h.
Referenced by add_method_handle(), java_bytecode_convert_classt::convert(), java_bytecode_parsert::get_class_refs(), get_method_handle(), java_class_loadert::get_parse_tree(), output(), java_bytecode_parsert::rclass_attribute(), java_bytecode_parsert::rClassFile(), java_bytecode_parsert::read_bootstrapmethods_entry(), java_bytecode_parsert::rinner_classes_attribute(), and java_bytecode_parsert::rmethod_attribute().
irep_idt java_bytecode_parse_treet::classt::outer_class |
Definition at line 214 of file java_bytecode_parse_tree.h.
Referenced by java_bytecode_convert_classt::convert(), and java_bytecode_parsert::rinner_classes_attribute().
optionalt<std::string> java_bytecode_parse_treet::classt::signature |
Definition at line 260 of file java_bytecode_parse_tree.h.
Referenced by java_bytecode_convert_classt::convert(), and java_bytecode_parsert::rclass_attribute().
irep_idt java_bytecode_parse_treet::classt::super_class |
Definition at line 202 of file java_bytecode_parse_tree.h.
Referenced by java_bytecode_convert_classt::convert(), output(), and java_bytecode_parsert::rClassFile().