cprover
replace_symbolt Class Reference

#include <replace_symbol.h>

Inheritance diagram for replace_symbolt:
[legend]
Collaboration diagram for replace_symbolt:
[legend]

Public Types

typedef std::unordered_map< irep_idt, exprt, irep_id_hashexpr_mapt
 
typedef std::unordered_map< irep_idt, typet, irep_id_hashtype_mapt
 

Public Member Functions

void insert (const irep_idt &identifier, const exprt &expr)
 
void insert (const class symbol_exprt &old_expr, const exprt &new_expr)
 
void insert (const irep_idt &identifier, const typet &type)
 
virtual bool replace (exprt &dest) const
 
virtual bool replace (typet &dest) const
 
void operator() (exprt &dest) const
 
void operator() (typet &dest) const
 
void clear ()
 
bool empty () const
 
 replace_symbolt ()
 
virtual ~replace_symbolt ()
 

Public Attributes

expr_mapt expr_map
 
type_mapt type_map
 

Protected Member Functions

bool have_to_replace (const exprt &dest) const
 
bool have_to_replace (const typet &type) const
 

Detailed Description

Definition at line 20 of file replace_symbol.h.

Member Typedef Documentation

§ expr_mapt

typedef std::unordered_map<irep_idt, exprt, irep_id_hash> replace_symbolt::expr_mapt

Definition at line 23 of file replace_symbol.h.

§ type_mapt

typedef std::unordered_map<irep_idt, typet, irep_id_hash> replace_symbolt::type_mapt

Definition at line 24 of file replace_symbol.h.

Constructor & Destructor Documentation

§ replace_symbolt()

replace_symbolt::replace_symbolt ( )

Definition at line 14 of file replace_symbol.cpp.

Referenced by empty().

§ ~replace_symbolt()

replace_symbolt::~replace_symbolt ( )
virtual

Definition at line 18 of file replace_symbol.cpp.

References expr_map, symbol_exprt::get_identifier(), and insert().

Referenced by empty().

Member Function Documentation

§ clear()

void replace_symbolt::clear ( void  )
inline

§ empty()

bool replace_symbolt::empty ( ) const
inline

Definition at line 60 of file replace_symbol.h.

References expr_map, replace_symbolt(), type_map, and ~replace_symbolt().

§ have_to_replace() [1/2]

bool replace_symbolt::have_to_replace ( const exprt dest) const
protected

§ have_to_replace() [2/2]

§ insert() [1/3]

void replace_symbolt::insert ( const irep_idt identifier,
const exprt expr 
)
inline

§ insert() [2/3]

void replace_symbolt::insert ( const class symbol_exprt old_expr,
const exprt new_expr 
)

§ insert() [3/3]

void replace_symbolt::insert ( const irep_idt identifier,
const typet type 
)
inline

Definition at line 35 of file replace_symbol.h.

References replace(), and type_map.

§ operator()() [1/2]

void replace_symbolt::operator() ( exprt dest) const
inline

Definition at line 44 of file replace_symbol.h.

References replace().

§ operator()() [2/2]

void replace_symbolt::operator() ( typet dest) const
inline

Definition at line 49 of file replace_symbol.h.

References replace().

§ replace() [1/2]

bool replace_symbolt::replace ( exprt dest) const
virtual

§ replace() [2/2]

Member Data Documentation

§ expr_map

§ type_map

type_mapt replace_symbolt::type_map

Definition at line 69 of file replace_symbol.h.

Referenced by clear(), empty(), have_to_replace(), insert(), and replace().


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