systemc-clang 2.0.0
Parsing SystemC constructs
Loading...
Searching...
No Matches
hnode::newname_map_t< T > Class Template Reference

#include <hNode.h>

Inheritance diagram for hnode::newname_map_t< T >:
Collaboration diagram for hnode::newname_map_t< T >:

Public Member Functions

 newname_map_t (string prefix=lvar_prefix)
 
void add_entry (T declp, string old_name, hNodep hnp)
 
string find_entry_newn (T declp, bool set_ref=false)
 
bool is_referenced (T declp)
 
void reset_referenced ()
 
void set_prefix (string prefix)
 
string get_prefix ()
 
bool empty ()
 
size_t size ()
 
void clear ()
 
void print (llvm::raw_ostream &modelout=llvm::outs(), unsigned int indnt=2)
 
std::map< T, names_t >::iterator begin ()
 
std::map< T, names_t >::iterator end ()
 
void insertall (newname_map_t< T > newmap)
 

Private Attributes

name_serve ns
 
std::map< T, names_thdecl_name_map
 

Detailed Description

template<class T>
class hnode::newname_map_t< T >

The newname_map_t class manages identifier names. For adding an entry, the identifier information is stored in a map with the clang AST node pointer as key. A new name for identifier is
generated, and {original name, new name, hNode pointer} are stored as the value. Additionally, the hNode of the identifier is updated to the new name. The find entry method returns the new name or empty string.

Definition at line 531 of file hNode.h.

Constructor & Destructor Documentation

◆ newname_map_t()

template<class T >
hnode::newname_map_t< T >::newname_map_t ( string prefix = lvar_prefix)
inline

Definition at line 538 of file hNode.h.

Member Function Documentation

◆ add_entry()

template<class T >
void hnode::newname_map_t< T >::add_entry ( T declp,
string old_name,
hNodep hnp )
inline

Definition at line 539 of file hNode.h.

◆ begin()

template<class T >
std::map< T, names_t >::iterator hnode::newname_map_t< T >::begin ( )
inline

Definition at line 587 of file hNode.h.

◆ clear()

template<class T >
void hnode::newname_map_t< T >::clear ( )
inline

Definition at line 579 of file hNode.h.

◆ empty()

template<class T >
bool hnode::newname_map_t< T >::empty ( )
inline

Definition at line 577 of file hNode.h.

◆ end()

template<class T >
std::map< T, names_t >::iterator hnode::newname_map_t< T >::end ( )
inline

Definition at line 588 of file hNode.h.

◆ find_entry_newn()

template<class T >
string hnode::newname_map_t< T >::find_entry_newn ( T declp,
bool set_ref = false )
inline

Definition at line 552 of file hNode.h.

◆ get_prefix()

template<class T >
string hnode::newname_map_t< T >::get_prefix ( )
inline

Definition at line 575 of file hNode.h.

◆ insertall()

template<class T >
void hnode::newname_map_t< T >::insertall ( newname_map_t< T > newmap)
inline

Definition at line 594 of file hNode.h.

◆ is_referenced()

template<class T >
bool hnode::newname_map_t< T >::is_referenced ( T declp)
inline

Definition at line 560 of file hNode.h.

◆ print()

template<class T >
void hnode::newname_map_t< T >::print ( llvm::raw_ostream & modelout = llvm::outs(),
unsigned int indnt = 2 )
inline

Definition at line 581 of file hNode.h.

◆ reset_referenced()

template<class T >
void hnode::newname_map_t< T >::reset_referenced ( )
inline

Definition at line 567 of file hNode.h.

◆ set_prefix()

template<class T >
void hnode::newname_map_t< T >::set_prefix ( string prefix)
inline

Definition at line 573 of file hNode.h.

◆ size()

template<class T >
size_t hnode::newname_map_t< T >::size ( )
inline

Definition at line 578 of file hNode.h.

Member Data Documentation

◆ hdecl_name_map

template<class T >
std::map<T, names_t> hnode::newname_map_t< T >::hdecl_name_map
private

Definition at line 534 of file hNode.h.

◆ ns

template<class T >
name_serve hnode::newname_map_t< T >::ns
private

Definition at line 533 of file hNode.h.


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