cprover
class_typet Class Reference

C++ class type. More...

#include <std_types.h>

Inheritance diagram for class_typet:
[legend]
Collaboration diagram for class_typet:
[legend]

Classes

class  baset
 

Public Types

typedef componentt methodt
 
typedef componentst methodst
 
typedef std::vector< basetbasest
 
- Public Types inherited from struct_union_typet
typedef std::vector< componenttcomponentst
 
- Public Types inherited from typet
typedef std::vector< typetsubtypest
 
- Public Types inherited from irept
typedef std::vector< ireptsubt
 
typedef std::map< irep_namet, ireptnamed_subt
 

Public Member Functions

 class_typet ()
 
const methodstmethods () const
 
componentstmethods ()
 
bool is_class () const
 
irep_idt default_access () const
 
const basestbases () const
 
basestbases ()
 
void add_base (const typet &base)
 
optionalt< 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
 
bool is_abstract () const
 
- Public Member Functions inherited from struct_typet
 struct_typet ()
 
bool is_prefix_of (const struct_typet &other) const
 
- Public Member Functions inherited from struct_union_typet
 struct_union_typet (const irep_idt &_id)
 
const componentstcomponents () const
 
componentstcomponents ()
 
bool has_component (const irep_idt &component_name) const
 
const componenttget_component (const irep_idt &component_name) const
 
std::size_t component_number (const irep_idt &component_name) const
 
typet component_type (const irep_idt &component_name) const
 
irep_idt get_tag () const
 
void set_tag (const irep_idt &tag)
 
- Public Member Functions inherited from typet
 typet ()
 
 typet (const irep_idt &_id)
 
 typet (const irep_idt &_id, const typet &_subtype)
 
const typetsubtype () const
 
typetsubtype ()
 
subtypestsubtypes ()
 
const subtypestsubtypes () const
 
bool has_subtypes () const
 
bool has_subtype () const
 
void remove_subtype ()
 
void move_to_subtypes (typet &type)
 
void copy_to_subtypes (const typet &type)
 
const source_locationtsource_location () const
 
source_locationtadd_source_location ()
 
typetadd_type (const irep_namet &name)
 
const typetfind_type (const irep_namet &name) const
 
- Public Member Functions inherited from irept
bool is_nil () const
 
bool is_not_nil () const
 
 irept (const irep_idt &_id)
 
 irept ()
 
 irept (const irept &irep)
 
 irept (irept &&irep)
 
ireptoperator= (const irept &irep)
 
ireptoperator= (irept &&irep)
 
 ~irept ()
 
const irep_idtid () const
 
const std::string & id_string () const
 
void id (const irep_idt &_data)
 
const ireptfind (const irep_namet &name) const
 
ireptadd (const irep_namet &name)
 
ireptadd (const irep_namet &name, const irept &irep)
 
const std::string & get_string (const irep_namet &name) const
 
const irep_idtget (const irep_namet &name) const
 
bool get_bool (const irep_namet &name) const
 
signed int get_int (const irep_namet &name) const
 
unsigned int get_unsigned_int (const irep_namet &name) const
 
std::size_t get_size_t (const irep_namet &name) const
 
long long get_long_long (const irep_namet &name) const
 
void set (const irep_namet &name, const irep_idt &value)
 
void set (const irep_namet &name, const irept &irep)
 
void set (const irep_namet &name, const long long value)
 
void remove (const irep_namet &name)
 
void move_to_sub (irept &irep)
 
void move_to_named_sub (const irep_namet &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 More...
 
void clear ()
 
void make_nil ()
 
subtget_sub ()
 
const subtget_sub () const
 
named_subtget_named_sub ()
 
const named_subtget_named_sub () const
 
named_subtget_comments ()
 
const named_subtget_comments () 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
 
const dtread () const
 
dtwrite ()
 

Additional Inherited Members

- Protected Member Functions inherited from irept
void detach ()
 
- Static Protected Member Functions inherited from irept
static bool is_comment (const irep_namet &name)
 
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 irept
dtdata
 
- Static Protected Attributes inherited from irept
static dt empty_d
 

Detailed Description

C++ class type.

Definition at line 341 of file std_types.h.

Member Typedef Documentation

◆ basest

typedef std::vector<baset> class_typet::basest

Definition at line 384 of file std_types.h.

◆ methodst

Definition at line 350 of file std_types.h.

◆ methodt

Definition at line 349 of file std_types.h.

Constructor & Destructor Documentation

◆ class_typet()

class_typet::class_typet ( )
inline

Definition at line 344 of file std_types.h.

Member Function Documentation

◆ add_base()

void class_typet::add_base ( const typet base)
inline

◆ bases() [1/2]

◆ bases() [2/2]

basest& class_typet::bases ( )
inline

Definition at line 391 of file std_types.h.

References irept::add(), and irept::get_sub().

◆ default_access()

irep_idt class_typet::default_access ( ) const
inline

Definition at line 367 of file std_types.h.

References is_class().

◆ get_base()

optionalt<baset> class_typet::get_base ( const irep_idt id) const
inline

Return the base with the given name, if exists.

Parameters
idThe name of the base we are looking for.
Returns
The base if exists.

Definition at line 404 of file std_types.h.

References bases(), irept::id(), and to_symbol_type().

Referenced by has_base().

◆ has_base()

bool class_typet::has_base ( const irep_idt id) const
inline

Definition at line 414 of file std_types.h.

References get_base().

Referenced by cpp_typecheckt::typecheck_expr_main().

◆ is_abstract()

bool class_typet::is_abstract ( ) const
inline

Definition at line 419 of file std_types.h.

References irept::get_bool().

Referenced by java_bytecode_languaget::convert_single_method().

◆ is_class()

bool class_typet::is_class ( ) const
inline

Definition at line 362 of file std_types.h.

References irept::get_bool().

Referenced by default_access().

◆ methods() [1/2]

const methodst& class_typet::methods ( ) const
inline

Definition at line 352 of file std_types.h.

References irept::find(), and irept::get_sub().

◆ methods() [2/2]

componentst& class_typet::methods ( )
inline

Definition at line 357 of file std_types.h.

References irept::add(), and irept::get_sub().


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