CBMC
casting_replace_symbolt Class Reference

A variant of replace_symbolt that does not require types to match, but instead inserts type casts as needed when replacing one symbol by another. More...

#include <casting_replace_symbol.h>

+ Inheritance diagram for casting_replace_symbolt:
+ Collaboration diagram for casting_replace_symbolt:

Public Member Functions

bool replace (exprt &dest) const override
 
- Public Member Functions inherited from replace_symbolt
void insert (const class symbol_exprt &old_expr, const exprt &new_expr)
 Sets old_expr to be replaced by new_expr if we don't already have a replacement; otherwise does nothing (i.e. More...
 
void set (const class symbol_exprt &old_expr, const exprt &new_expr)
 Sets old_expr to be replaced by new_expr. More...
 
virtual bool replace (typet &dest) const
 
void operator() (exprt &dest) const
 
void operator() (typet &dest) const
 
void clear ()
 
bool empty () const
 
std::size_t erase (const irep_idt &id)
 
expr_mapt::iterator erase (expr_mapt::iterator it)
 
bool replaces_symbol (const irep_idt &id) const
 
 replace_symbolt ()
 
virtual ~replace_symbolt ()
 
const expr_maptget_expr_map () const
 
expr_maptget_expr_map ()
 

Private Member Functions

bool replace_symbol_expr (symbol_exprt &dest) const override
 

Additional Inherited Members

- Public Types inherited from replace_symbolt
typedef std::unordered_map< irep_idt, exprtexpr_mapt
 
- Protected Member Functions inherited from replace_symbolt
bool have_to_replace (const exprt &dest) const
 
bool have_to_replace (const typet &type) const
 
- Protected Attributes inherited from replace_symbolt
expr_mapt expr_map
 
std::set< irep_idtbindings
 

Detailed Description

A variant of replace_symbolt that does not require types to match, but instead inserts type casts as needed when replacing one symbol by another.

Definition at line 19 of file casting_replace_symbol.h.

Member Function Documentation

◆ replace()

bool casting_replace_symbolt::replace ( exprt dest) const
overridevirtual

Reimplemented from replace_symbolt.

Definition at line 18 of file casting_replace_symbol.cpp.

◆ replace_symbol_expr()

bool casting_replace_symbolt::replace_symbol_expr ( symbol_exprt dest) const
overrideprivatevirtual

Reimplemented from replace_symbolt.

Definition at line 83 of file casting_replace_symbol.cpp.


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