ROSE
0.11.21.0
|
Class holding a unique name for a variable.
Is attached to varRefs as a persistant attribute. This is used to assign absolute names to VarRefExp nodes during VariableRenaming.
Definition at line 16 of file uniqueNameTraversal.h.
#include <uniqueNameTraversal.h>
Public Member Functions | |
VarUniqueName () | |
Constructs the attribute with an empty key. | |
VarUniqueName (SgInitializedName *thisNode) | |
Constructs the attribute with value thisNode. More... | |
VarUniqueName (const std::vector< SgInitializedName * > &prefix, SgInitializedName *thisNode) | |
Constructs the attribute using the prefix vector and thisNode. More... | |
VarUniqueName (const VarUniqueName &other) | |
Copy the attribute. More... | |
VarUniqueName * | copy () const |
const std::vector< SgInitializedName * > & | getKey () |
Get a constant reference to the name. More... | |
void | setKey (const std::vector< SgInitializedName * > &newKey) |
Set the value of the name. More... | |
bool | getUsesThis () |
void | setUsesThis (bool uses) |
std::string | getNameString () |
Get the string representing this uniqueName. More... | |
|
inline |
Constructs the attribute with value thisNode.
The key will consist of only the current node.
thisNode | The node to use for the key. |
Definition at line 41 of file uniqueNameTraversal.h.
|
inline |
Constructs the attribute using the prefix vector and thisNode.
The key will first be copied from the prefix value, and then the thisNode value will be appended.
prefix | The prefix of the new name. |
thisNode | The node to append to the end of the new name. |
Definition at line 54 of file uniqueNameTraversal.h.
|
inline |
Copy the attribute.
other | The attribute to copy from. |
Definition at line 64 of file uniqueNameTraversal.h.
|
inline |
Get a constant reference to the name.
Definition at line 79 of file uniqueNameTraversal.h.
|
inline |
Set the value of the name.
newKey | The new name to use. |
Definition at line 88 of file uniqueNameTraversal.h.
|
inline |
Get the string representing this uniqueName.
Definition at line 107 of file uniqueNameTraversal.h.