CBMC
cpp_typecastt Class Reference

#include <cpp_typecast.h>

+ Inheritance diagram for cpp_typecastt:
+ Collaboration diagram for cpp_typecastt:

Public Member Functions

 cpp_typecastt (cpp_typecheckt &cpp_typecheck)
 
virtual void implicit_typecast (exprt &expr, const typet &type)
 
virtual void implicit_typecast_arithmetic (exprt &expr)
 
virtual void implicit_typecast_arithmetic (exprt &expr1, exprt &expr2)
 
void check_qualifiers (const typet &from, const typet &to)
 
bool subtype_typecast (const typet &from, const typet &to, std::string &err)
 
bool integral_conversion (const typet &src_type, const typet &dest_type)
 
exprt subtype_offset (const struct_typet &from, const struct_typet &to)
 
void make_ptr_typecast (exprt &expr, const typet &src_type, const typet &dest_type)
 
- Public Member Functions inherited from c_typecastt
 c_typecastt (const namespacet &_ns)
 
virtual ~c_typecastt ()
 

Public Attributes

cpp_typechecktcpp_typecheck
 
- Public Attributes inherited from c_typecastt
std::list< std::string > errors
 
std::list< std::string > warnings
 

Protected Member Functions

virtual void implicit_typecast_followed (exprt &expr, const typet &src_type, const typet &dest_type)
 
void get_bases (const irep_idt &identifier, std::map< irep_idt, unsigned > &base_count)
 
- Protected Member Functions inherited from c_typecastt
c_typet get_c_type (const typet &type) const
 
void implicit_typecast_arithmetic (exprt &expr, c_typet c_type)
 
typet follow_with_qualifiers (const typet &src)
 
virtual void implicit_typecast_followed (exprt &expr, const typet &src_type, const typet &orig_dest_type, const typet &dest_type)
 
void do_typecast (exprt &dest, const typet &type)
 
c_typet minimum_promotion (const typet &type) const
 

Additional Inherited Members

- Static Public Member Functions inherited from c_typecastt
static std::optional< std::string > check_address_can_be_taken (const typet &)
 
- Protected Types inherited from c_typecastt
enum  c_typet {
  BOOL , CHAR , UCHAR , SHORT ,
  USHORT , INT , UINT , LONG ,
  ULONG , LONGLONG , ULONGLONG , LARGE_SIGNED_INT ,
  LARGE_UNSIGNED_INT , INTEGER , FIXEDBV , SINGLE ,
  DOUBLE , LONGDOUBLE , FLOAT128 , RATIONAL ,
  REAL , COMPLEX , VOIDPTR , PTR ,
  OTHER
}
 
- Protected Attributes inherited from c_typecastt
const namespacetns
 

Detailed Description

Definition at line 17 of file cpp_typecast.h.

Constructor & Destructor Documentation

◆ cpp_typecastt()

cpp_typecastt::cpp_typecastt ( cpp_typecheckt cpp_typecheck)
explicit

Member Function Documentation

◆ check_qualifiers()

void cpp_typecastt::check_qualifiers ( const typet from,
const typet to 
)

◆ get_bases()

void cpp_typecastt::get_bases ( const irep_idt identifier,
std::map< irep_idt, unsigned > &  base_count 
)
protected

◆ implicit_typecast()

virtual void cpp_typecastt::implicit_typecast ( exprt expr,
const typet type 
)
virtual

Reimplemented from c_typecastt.

◆ implicit_typecast_arithmetic() [1/2]

virtual void cpp_typecastt::implicit_typecast_arithmetic ( exprt expr)
virtual

Reimplemented from c_typecastt.

◆ implicit_typecast_arithmetic() [2/2]

virtual void cpp_typecastt::implicit_typecast_arithmetic ( exprt expr1,
exprt expr2 
)
virtual

Reimplemented from c_typecastt.

◆ implicit_typecast_followed()

virtual void cpp_typecastt::implicit_typecast_followed ( exprt expr,
const typet src_type,
const typet dest_type 
)
protectedvirtual

◆ integral_conversion()

bool cpp_typecastt::integral_conversion ( const typet src_type,
const typet dest_type 
)

◆ make_ptr_typecast()

void cpp_typecastt::make_ptr_typecast ( exprt expr,
const typet src_type,
const typet dest_type 
)

◆ subtype_offset()

exprt cpp_typecastt::subtype_offset ( const struct_typet from,
const struct_typet to 
)

◆ subtype_typecast()

bool cpp_typecastt::subtype_typecast ( const typet from,
const typet to,
std::string &  err 
)

Member Data Documentation

◆ cpp_typecheck

cpp_typecheckt& cpp_typecastt::cpp_typecheck

Definition at line 66 of file cpp_typecast.h.


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