CBMC
java_generic_class_typet Class Reference

Class to hold a class with generics, extends the java class type with a vector of java generic type parameters (also called type variables). More...

#include <java_types.h>

+ Inheritance diagram for java_generic_class_typet:
+ Collaboration diagram for java_generic_class_typet:

Public Types

typedef std::vector< java_generic_parametertgeneric_typest
 
- Public Types inherited from java_class_typet
enum class  method_handle_kindt { LAMBDA_STATIC_METHOD_HANDLE , LAMBDA_VIRTUAL_METHOD_HANDLE , LAMBDA_CONSTRUCTOR_HANDLE , UNKNOWN_HANDLE }
 Indicates what sort of code should be synthesised for a lambda call: More...
 
using componentst = std::vector< componentt >
 
using methodst = std::vector< methodt >
 
using static_membert = componentt
 
using static_memberst = std::vector< componentt >
 
using java_lambda_method_handlest = std::vector< java_lambda_method_handlet >
 
- Public Types inherited from class_typet
typedef componentt methodt
 
typedef componentst methodst
 
using static_membert = componentt
 
using static_memberst = componentst
 
- Public Types inherited from struct_typet
typedef std::vector< basetbasest
 
- Public Types inherited from struct_union_typet
typedef std::vector< componenttcomponentst
 
- Public Types inherited from irept
using baset = tree_implementationt
 
- Public Types inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
using dt = tree_nodet< irept, forward_list_as_mapt< irep_idt, irept >, true >
 
using subt = typename dt::subt
 
using named_subt = typename dt::named_subt
 
using tree_implementationt = sharing_treet
 Used to refer to this class from derived classes. More...
 

Public Member Functions

 java_generic_class_typet ()
 
const generic_typestgeneric_types () const
 
generic_typestgeneric_types ()
 
- Public Member Functions inherited from java_class_typet
const componentstcomponents () const
 
componentstcomponents ()
 
const componenttget_component (const irep_idt &component_name) const
 
const methodstmethods () const
 
methodstmethods ()
 
const static_memberststatic_members () const
 
static_memberststatic_members ()
 
const irep_idtget_access () const
 
void set_access (const irep_idt &access)
 
bool get_is_inner_class () const
 
void set_is_inner_class (const bool &is_inner_class)
 
const irep_idtget_outer_class () const
 
void set_outer_class (const irep_idt &outer_class)
 
const irep_idtget_super_class () const
 
void set_super_class (const irep_idt &super_class)
 
bool get_is_static_class () const
 
void set_is_static_class (const bool &is_static_class)
 
bool get_is_anonymous_class () const
 
void set_is_anonymous_class (const bool &is_anonymous_class)
 
bool get_final () const
 
void set_final (bool is_final)
 
void set_is_stub (bool is_stub)
 
bool get_is_stub () const
 
bool get_is_enumeration () const
 is class an enumeration? More...
 
void set_is_enumeration (const bool is_enumeration)
 marks class as an enumeration More...
 
bool get_abstract () const
 is class abstract? More...
 
void set_abstract (bool abstract)
 marks class abstract More...
 
bool get_synthetic () const
 is class synthetic? More...
 
void set_synthetic (bool synthetic)
 marks class synthetic More...
 
bool get_is_annotation () const
 is class an annotation? More...
 
void set_is_annotation (bool is_annotation)
 marks class an annotation More...
 
bool get_interface () const
 is class an interface? More...
 
void set_interface (bool interface)
 marks class an interface More...
 
const java_lambda_method_handlestlambda_method_handles () const
 
java_lambda_method_handlestlambda_method_handles ()
 
void add_lambda_method_handle (const class_method_descriptor_exprt &method_descriptor, method_handle_kindt handle_kind)
 
void add_unknown_lambda_method_handle ()
 
const std::vector< java_annotationt > & get_annotations () const
 
std::vector< java_annotationt > & get_annotations ()
 
const irep_idtget_name () const
 Get the name of the struct, which can be used to look up its symbol in the symbol table. More...
 
void set_name (const irep_idt &name)
 Set the name of the struct, which can be used to look up its symbol in the symbol table. More...
 
const irep_idtget_inner_name () const
 Get the name of a java inner class. More...
 
void set_inner_name (const irep_idt &name)
 Set the name of a java inner class. More...
 
- Public Member Functions inherited from class_typet
 class_typet ()
 
const methodstmethods () const
 
methodstmethods ()
 
const static_memberststatic_members () const
 
static_memberststatic_members ()
 
bool is_abstract () const
 
- Public Member Functions inherited from struct_typet
 struct_typet ()
 
 struct_typet (componentst _components)
 
bool is_prefix_of (const struct_typet &other) const
 Returns true if the struct is a prefix of other, i.e., if this struct has n components then the component types and names of this struct must match the first n components of other struct. More...
 
bool is_class () const
 A struct may be a class, where members may have access restrictions. More...
 
const basestbases () const
 Get the collection of base classes/structs. More...
 
basestbases ()
 Get the collection of base classes/structs. More...
 
void add_base (const struct_tag_typet &base)
 Add a base class/struct. More...
 
std::optional< basetget_base (const irep_idt &id) const
 Return the base with the given name, if exists. More...
 
bool has_base (const irep_idt &id) const
 Test whether id is a base class/struct. More...
 
- Public Member Functions inherited from struct_union_typet
 struct_union_typet (const irep_idt &_id)
 
 struct_union_typet (const irep_idt &_id, componentst _components)
 
const componentstcomponents () const
 
componentstcomponents ()
 
bool has_component (const irep_idt &component_name) const
 
const componenttget_component (const irep_idt &component_name) const
 Get the reference to a component with given name. More...
 
std::size_t component_number (const irep_idt &component_name) const
 Return the sequence number of the component with given name. More...
 
const typetcomponent_type (const irep_idt &component_name) const
 
irep_idt get_tag () const
 
void set_tag (const irep_idt &tag)
 
bool is_class () const
 A struct may be a class, where members may have access restrictions. More...
 
irep_idt default_access () const
 Return the access specification for members where access has not been modified. More...
 
bool is_incomplete () const
 A struct/union may be incomplete. More...
 
void make_incomplete ()
 A struct/union may be incomplete. More...
 
- Public Member Functions inherited from typet
 typet ()
 
 typet (const irep_idt &_id)
 
 typet (irep_idt _id, typet _subtype)
 
typetadd_subtype ()
 
bool has_subtypes () const
 
bool has_subtype () const
 
void remove_subtype ()
 
const source_locationtsource_location () const
 
source_locationtadd_source_location ()
 
typet && with_source_location (source_locationt location) &&
 This is a 'fluent style' method for creating a new type with an added-on source location. More...
 
typetwith_source_location (source_locationt location) &
 This is a 'fluent style' method for adding a source location. More...
 
typet && with_source_location (const typet &type) &&
 This is a 'fluent style' method for creating a new type with an added-on source location. More...
 
typetwith_source_location (const typet &type) &
 This is a 'fluent style' method for adding a source location. More...
 
typetadd_type (const irep_idt &name)
 
const typetfind_type (const irep_idt &name) const
 
- Public Member Functions inherited from irept
bool is_nil () const
 
bool is_not_nil () const
 
 irept (const irep_idt &_id)
 
 irept (const irep_idt &_id, const named_subt &_named_sub, const subt &_sub)
 
 irept ()=default
 
const irep_idtid () const
 
const std::string & id_string () const
 
void id (const irep_idt &_data)
 
const ireptfind (const irep_idt &name) const
 
ireptadd (const irep_idt &name)
 
ireptadd (const irep_idt &name, irept irep)
 
const std::string & get_string (const irep_idt &name) const
 
const irep_idtget (const irep_idt &name) const
 
bool get_bool (const irep_idt &name) const
 
signed int get_int (const irep_idt &name) const
 
std::size_t get_size_t (const irep_idt &name) const
 
long long get_long_long (const irep_idt &name) const
 
void set (const irep_idt &name, const irep_idt &value)
 
void set (const irep_idt &name, irept irep)
 
void set (const irep_idt &name, const long long value)
 
void set_size_t (const irep_idt &name, const std::size_t value)
 
void remove (const irep_idt &name)
 
void move_to_sub (irept &irep)
 
void move_to_named_sub (const irep_idt &name, irept &irep)
 
bool operator== (const irept &other) const
 
bool operator!= (const irept &other) const
 
void swap (irept &irep)
 
bool operator< (const irept &other) const
 defines ordering on the internal representation More...
 
bool ordering (const irept &other) const
 defines ordering on the internal representation More...
 
int compare (const irept &i) const
 defines ordering on the internal representation comments are ignored More...
 
void clear ()
 
void make_nil ()
 
subtget_sub ()
 
const subtget_sub () const
 
named_subtget_named_sub ()
 
const named_subtget_named_sub () const
 
std::size_t hash () const
 
std::size_t full_hash () const
 
bool full_eq (const irept &other) const
 
std::string pretty (unsigned indent=0, unsigned max_indent=0) const
 
- Public Member Functions inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
 sharing_treet (irep_idt _id)
 
 sharing_treet (irep_idt _id, named_subt _named_sub, subt _sub)
 
 sharing_treet ()
 
 sharing_treet (const sharing_treet &irep)
 
 sharing_treet (sharing_treet &&irep)
 
sharing_treetoperator= (const sharing_treet &irep)
 
sharing_treetoperator= (sharing_treet &&irep)
 
 ~sharing_treet ()
 
const dtread () const
 
dtwrite ()
 

Additional Inherited Members

- Static Public Member Functions inherited from typet
static void check (const typet &, const validation_modet=validation_modet::INVARIANT)
 Check that the type is well-formed (shallow checks only, i.e., subtypes are not checked) More...
 
static void validate (const typet &type, const namespacet &, const validation_modet vm=validation_modet::INVARIANT)
 Check that the type is well-formed, assuming that its subtypes have already been checked for well-formedness. More...
 
static void validate_full (const typet &type, const namespacet &ns, const validation_modet vm=validation_modet::INVARIANT)
 Check that the type is well-formed (full check, including checks of subtypes) More...
 
- Static Public Member Functions inherited from irept
static bool is_comment (const irep_idt &name)
 
static std::size_t number_of_non_comments (const named_subt &)
 count the number of named_sub elements that are not comments More...
 
- Protected Member Functions inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
void detach ()
 
- Static Protected Member Functions inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
static void remove_ref (dt *old_data)
 
static void nonrecursive_destructor (dt *old_data)
 Does the same as remove_ref, but using an explicit stack instead of recursion. More...
 
- Protected Attributes inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
dtdata
 
- Static Protected Attributes inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
static dt empty_d
 

Detailed Description

Class to hold a class with generics, extends the java class type with a vector of java generic type parameters (also called type variables).

For example, a class definition class MyGenericClass<T>.

Definition at line 971 of file java_types.h.

Member Typedef Documentation

◆ generic_typest

Definition at line 974 of file java_types.h.

Constructor & Destructor Documentation

◆ java_generic_class_typet()

java_generic_class_typet::java_generic_class_typet ( )
inline

Definition at line 976 of file java_types.h.

Member Function Documentation

◆ generic_types() [1/2]

generic_typest& java_generic_class_typet::generic_types ( )
inline

Definition at line 986 of file java_types.h.

◆ generic_types() [2/2]

const generic_typest& java_generic_class_typet::generic_types ( ) const
inline

Definition at line 981 of file java_types.h.


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