cprover
java_bytecode_parse_treet::classt Class Reference

#include <java_bytecode_parse_tree.h>

Collaboration diagram for java_bytecode_parse_treet::classt:
[legend]

Classes

class  lambda_method_handlet
 

Public Types

enum  method_handle_typet { method_handle_typet::LAMBDA_METHOD_HANDLE, method_handle_typet::UNKNOWN_HANDLE }
 
typedef std::vector< u2u2_valuest
 
typedef std::map< std::pair< irep_idt, size_t >, lambda_method_handletlambda_method_handle_mapt
 
typedef std::list< irep_idtimplementst
 
typedef std::list< fieldtfieldst
 
typedef std::list< methodtmethodst
 

Public Member Functions

 classt ()=default
 
 classt (const classt &)=delete
 
classtoperator= (const classt &)=delete
 
 classt (classt &&)=default
 
classtoperator= (classt &&)=default
 
fieldtadd_field ()
 
methodtadd_method ()
 
void add_method_handle (size_t bootstrap_index, lambda_method_handlet handle)
 
const lambda_method_handletget_method_handle (size_t bootstrap_index) const
 
void output (std::ostream &out) const
 

Public Attributes

irep_idt name
 
irep_idt extends
 
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 attribute_bootstrapmethods_read = false
 
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
 

Detailed Description

Definition at line 193 of file java_bytecode_parse_tree.h.

Member Typedef Documentation

◆ fieldst

Definition at line 263 of file java_bytecode_parse_tree.h.

◆ implementst

◆ lambda_method_handle_mapt

◆ methodst

◆ u2_valuest

Definition at line 224 of file java_bytecode_parse_tree.h.

Member Enumeration Documentation

◆ method_handle_typet

Enumerator
LAMBDA_METHOD_HANDLE 
UNKNOWN_HANDLE 

Definition at line 218 of file java_bytecode_parse_tree.h.

Constructor & Destructor Documentation

◆ classt() [1/3]

java_bytecode_parse_treet::classt::classt ( )
default

◆ classt() [2/3]

java_bytecode_parse_treet::classt::classt ( const classt )
delete

◆ classt() [3/3]

java_bytecode_parse_treet::classt::classt ( classt &&  )
default

Member Function Documentation

◆ add_field()

fieldt& java_bytecode_parse_treet::classt::add_field ( )
inline

Definition at line 269 of file java_bytecode_parse_tree.h.

References fields.

Referenced by java_bytecode_parsert::rfields().

◆ add_method()

methodt& java_bytecode_parse_treet::classt::add_method ( )
inline

Definition at line 275 of file java_bytecode_parse_tree.h.

References methods.

Referenced by java_bytecode_parsert::rmethod().

◆ add_method_handle()

void java_bytecode_parse_treet::classt::add_method_handle ( size_t  bootstrap_index,
lambda_method_handlet  handle 
)
inline

◆ get_method_handle()

const lambda_method_handlet& java_bytecode_parse_treet::classt::get_method_handle ( size_t  bootstrap_index) const
inline

Definition at line 286 of file java_bytecode_parse_tree.h.

References lambda_method_handle_map, and name.

◆ operator=() [1/2]

classt& java_bytecode_parse_treet::classt::operator= ( const classt )
delete

◆ operator=() [2/2]

classt& java_bytecode_parse_treet::classt::operator= ( classt &&  )
default

◆ output()

void java_bytecode_parse_treet::classt::output ( std::ostream &  out) const

Member Data Documentation

◆ annotations

annotationst java_bytecode_parse_treet::classt::annotations

◆ attribute_bootstrapmethods_read

bool java_bytecode_parse_treet::classt::attribute_bootstrapmethods_read = false

Definition at line 215 of file java_bytecode_parse_tree.h.

Referenced by java_bytecode_parsert::rclass_attribute().

◆ enum_elements

size_t java_bytecode_parse_treet::classt::enum_elements =0

◆ extends

irep_idt java_bytecode_parse_treet::classt::extends

◆ fields

fieldst java_bytecode_parse_treet::classt::fields

◆ implements

implementst java_bytecode_parse_treet::classt::implements

◆ is_abstract

bool java_bytecode_parse_treet::classt::is_abstract =false

◆ is_annotation

bool java_bytecode_parse_treet::classt::is_annotation = false

◆ is_enum

bool java_bytecode_parse_treet::classt::is_enum =false

◆ is_final

bool java_bytecode_parse_treet::classt::is_final = false

◆ is_interface

bool java_bytecode_parse_treet::classt::is_interface = false

◆ is_private

bool java_bytecode_parse_treet::classt::is_private =false

◆ is_protected

bool java_bytecode_parse_treet::classt::is_protected =false

◆ is_public

bool java_bytecode_parse_treet::classt::is_public =false

◆ is_synthetic

bool java_bytecode_parse_treet::classt::is_synthetic = false

◆ lambda_method_handle_map

lambda_method_handle_mapt java_bytecode_parse_treet::classt::lambda_method_handle_map

◆ methods

◆ name

◆ signature

optionalt<std::string> java_bytecode_parse_treet::classt::signature

The documentation for this class was generated from the following files: