cprover
Loading...
Searching...
No Matches
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.
void set (const class symbol_exprt &old_expr, const exprt &new_expr)
 Sets old_expr to be replaced by new_expr.
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: