cprover
code_typet Class Reference

Base type of functions. More...

#include <std_types.h>

+ Inheritance diagram for code_typet:
+ Collaboration diagram for code_typet:

Classes

class  parametert
 

Public Types

typedef std::vector< parametertparameterst
 
typedef std::unordered_map< irep_idt, std::size_t > parameter_indicest
 
- Public Types inherited from irept
typedef std::vector< ireptsubt
 
typedef std::map< irep_namet, ireptnamed_subt
 

Public Member Functions

 code_typet (parameterst &&_parameters, typet &&_return_type)
 Constructs a new code type, i.e., function type. More...
 
 code_typet (parameterst &&_parameters, const typet &_return_type)
 Constructs a new code type, i.e., function type. More...
 
 code_typet ()
 
bool has_ellipsis () const
 
bool has_this () const
 
const parametertget_this () const
 
bool is_KnR () const
 
void make_ellipsis ()
 
void remove_ellipsis ()
 
const typetreturn_type () const
 
typetreturn_type ()
 
const parameterstparameters () const
 
parameterstparameters ()
 
bool get_inlined () const
 
void set_inlined (bool value)
 
const irep_idtget_access () const
 
void set_access (const irep_idt &access)
 
bool get_is_constructor () const
 
void set_is_constructor ()
 
std::vector< irep_idtparameter_identifiers () const
 Produces the list of parameter identifiers. More...
 
parameter_indicest parameter_indices () const
 Get a map from parameter name to its index. More...
 
- Public Member Functions inherited from typet
 typet ()
 
 typet (const irep_idt &_id)
 
 typet (const irep_idt &_id, const typet &_subtype)
 
const typetsubtype () const
 
typetsubtype ()
 
bool has_subtypes () const
 
bool has_subtype () const
 
void remove_subtype ()
 
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

- Static Public Member Functions inherited from typet
static void check (const typet &type, const validation_modet vm=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 &ns, 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...
 
- 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

Base type of functions.

Definition at line 772 of file std_types.h.

Member Typedef Documentation

◆ parameter_indicest

typedef std::unordered_map<irep_idt, std::size_t> code_typet::parameter_indicest

Definition at line 966 of file std_types.h.

◆ parameterst

typedef std::vector<parametert> code_typet::parameterst

Definition at line 775 of file std_types.h.

Constructor & Destructor Documentation

◆ code_typet() [1/3]

code_typet::code_typet ( parameterst &&  _parameters,
typet &&  _return_type 
)
inline

Constructs a new code type, i.e., function type.

Parameters
_parametersThe vector of function parameters.
_return_typeThe return type.

Definition at line 781 of file std_types.h.

◆ code_typet() [2/3]

code_typet::code_typet ( parameterst &&  _parameters,
const typet _return_type 
)
inline

Constructs a new code type, i.e., function type.

Parameters
_parametersThe vector of function parameters.
_return_typeThe return type.

Definition at line 790 of file std_types.h.

◆ code_typet() [3/3]

code_typet::code_typet ( )
inline
Deprecated:

Definition at line 799 of file std_types.h.

Member Function Documentation

◆ get_access()

const irep_idt& code_typet::get_access ( ) const
inline

Definition at line 934 of file std_types.h.

◆ get_inlined()

bool code_typet::get_inlined ( ) const
inline

Definition at line 924 of file std_types.h.

◆ get_is_constructor()

bool code_typet::get_is_constructor ( ) const
inline

Definition at line 944 of file std_types.h.

◆ get_this()

const parametert* code_typet::get_this ( ) const
inline

Definition at line 880 of file std_types.h.

◆ has_ellipsis()

bool code_typet::has_ellipsis ( ) const
inline

Definition at line 870 of file std_types.h.

◆ has_this()

bool code_typet::has_this ( ) const
inline

Definition at line 875 of file std_types.h.

◆ is_KnR()

bool code_typet::is_KnR ( ) const
inline

Definition at line 889 of file std_types.h.

◆ make_ellipsis()

void code_typet::make_ellipsis ( )
inline

Definition at line 894 of file std_types.h.

◆ parameter_identifiers()

std::vector<irep_idt> code_typet::parameter_identifiers ( ) const
inline

Produces the list of parameter identifiers.

Definition at line 955 of file std_types.h.

◆ parameter_indices()

parameter_indicest code_typet::parameter_indices ( ) const
inline

Get a map from parameter name to its index.

Definition at line 969 of file std_types.h.

◆ parameters() [1/2]

const parameterst& code_typet::parameters ( ) const
inline

Definition at line 914 of file std_types.h.

◆ parameters() [2/2]

parameterst& code_typet::parameters ( )
inline

Definition at line 919 of file std_types.h.

◆ remove_ellipsis()

void code_typet::remove_ellipsis ( )
inline

Definition at line 899 of file std_types.h.

◆ return_type() [1/2]

const typet& code_typet::return_type ( ) const
inline

Definition at line 904 of file std_types.h.

◆ return_type() [2/2]

typet& code_typet::return_type ( )
inline

Definition at line 909 of file std_types.h.

◆ set_access()

void code_typet::set_access ( const irep_idt access)
inline

Definition at line 939 of file std_types.h.

◆ set_inlined()

void code_typet::set_inlined ( bool  value)
inline

Definition at line 929 of file std_types.h.

◆ set_is_constructor()

void code_typet::set_is_constructor ( )
inline

Definition at line 949 of file std_types.h.


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