cprover
Loading...
Searching...
No Matches
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: