CBMC
java_bytecode_parse_treet::classt Struct Reference

#include <java_bytecode_parse_tree.h>

+ Collaboration diagram for java_bytecode_parse_treet::classt:

Classes

struct  lambda_method_handlet
 

Public Types

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 irep_idt &name)
 Create a class name. More...
 
 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, const 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 super_class
 
irep_idt inner_name
 
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
 
std::optional< std::string > signature
 
fieldst fields
 
methodst methods
 
annotationst annotations
 

Detailed Description

Definition at line 196 of file java_bytecode_parse_tree.h.

Member Typedef Documentation

◆ fieldst

Definition at line 277 of file java_bytecode_parse_tree.h.

◆ implementst

◆ lambda_method_handle_mapt

◆ methodst

◆ u2_valuest

Definition at line 227 of file java_bytecode_parse_tree.h.

Constructor & Destructor Documentation

◆ classt() [1/4]

java_bytecode_parse_treet::classt::classt ( )
default

◆ classt() [2/4]

java_bytecode_parse_treet::classt::classt ( const irep_idt name)
inlineexplicit

Create a class name.

Definition at line 201 of file java_bytecode_parse_tree.h.

◆ classt() [3/4]

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

◆ classt() [4/4]

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 283 of file java_bytecode_parse_tree.h.

◆ add_method()

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

Definition at line 289 of file java_bytecode_parse_tree.h.

◆ add_method_handle()

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

Definition at line 295 of file java_bytecode_parse_tree.h.

◆ get_method_handle()

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

Definition at line 302 of file java_bytecode_parse_tree.h.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ output()

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

Definition at line 28 of file java_bytecode_parse_tree.cpp.

Member Data Documentation

◆ annotations

annotationst java_bytecode_parse_treet::classt::annotations

Definition at line 281 of file java_bytecode_parse_tree.h.

◆ attribute_bootstrapmethods_read

bool java_bytecode_parse_treet::classt::attribute_bootstrapmethods_read = false

Definition at line 223 of file java_bytecode_parse_tree.h.

◆ enum_elements

size_t java_bytecode_parse_treet::classt::enum_elements =0

Definition at line 225 of file java_bytecode_parse_tree.h.

◆ fields

fieldst java_bytecode_parse_treet::classt::fields

Definition at line 279 of file java_bytecode_parse_tree.h.

◆ implements

implementst java_bytecode_parse_treet::classt::implements

Definition at line 275 of file java_bytecode_parse_tree.h.

◆ inner_name

irep_idt java_bytecode_parse_treet::classt::inner_name

Definition at line 212 of file java_bytecode_parse_tree.h.

◆ is_abstract

bool java_bytecode_parse_treet::classt::is_abstract =false

Definition at line 213 of file java_bytecode_parse_tree.h.

◆ is_annotation

bool java_bytecode_parse_treet::classt::is_annotation = false

Definition at line 219 of file java_bytecode_parse_tree.h.

◆ is_anonymous_class

bool java_bytecode_parse_treet::classt::is_anonymous_class = false

Definition at line 222 of file java_bytecode_parse_tree.h.

◆ is_enum

bool java_bytecode_parse_treet::classt::is_enum =false

Definition at line 214 of file java_bytecode_parse_tree.h.

◆ is_final

bool java_bytecode_parse_treet::classt::is_final = false

Definition at line 216 of file java_bytecode_parse_tree.h.

◆ is_inner_class

bool java_bytecode_parse_treet::classt::is_inner_class = false

Definition at line 220 of file java_bytecode_parse_tree.h.

◆ is_interface

bool java_bytecode_parse_treet::classt::is_interface = false

Definition at line 217 of file java_bytecode_parse_tree.h.

◆ is_private

bool java_bytecode_parse_treet::classt::is_private =false

Definition at line 215 of file java_bytecode_parse_tree.h.

◆ is_protected

bool java_bytecode_parse_treet::classt::is_protected =false

Definition at line 215 of file java_bytecode_parse_tree.h.

◆ is_public

bool java_bytecode_parse_treet::classt::is_public =false

Definition at line 215 of file java_bytecode_parse_tree.h.

◆ is_static_class

bool java_bytecode_parse_treet::classt::is_static_class = false

Definition at line 221 of file java_bytecode_parse_tree.h.

◆ is_synthetic

bool java_bytecode_parse_treet::classt::is_synthetic = false

Definition at line 218 of file java_bytecode_parse_tree.h.

◆ lambda_method_handle_map

lambda_method_handle_mapt java_bytecode_parse_treet::classt::lambda_method_handle_map

Definition at line 272 of file java_bytecode_parse_tree.h.

◆ methods

methodst java_bytecode_parse_treet::classt::methods

Definition at line 280 of file java_bytecode_parse_tree.h.

◆ name

irep_idt java_bytecode_parse_treet::classt::name

Definition at line 212 of file java_bytecode_parse_tree.h.

◆ outer_class

irep_idt java_bytecode_parse_treet::classt::outer_class

Definition at line 224 of file java_bytecode_parse_tree.h.

◆ signature

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

Definition at line 276 of file java_bytecode_parse_tree.h.

◆ super_class

irep_idt java_bytecode_parse_treet::classt::super_class

Definition at line 212 of file java_bytecode_parse_tree.h.


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