ROSE  0.9.10.89
Public Member Functions | List of all members
ssa_private::VarUniqueName Class Reference

Description

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>

Inheritance diagram for ssa_private::VarUniqueName:
Inheritance graph
[legend]
Collaboration diagram for ssa_private::VarUniqueName:
Collaboration graph
[legend]

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...
 
VarUniqueNamecopy () 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...
 

Constructor & Destructor Documentation

ssa_private::VarUniqueName::VarUniqueName ( SgInitializedName thisNode)
inline

Constructs the attribute with value thisNode.

The key will consist of only the current node.

Parameters
thisNodeThe node to use for the key.

Definition at line 41 of file uniqueNameTraversal.h.

ssa_private::VarUniqueName::VarUniqueName ( const std::vector< SgInitializedName * > &  prefix,
SgInitializedName thisNode 
)
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.

Parameters
prefixThe prefix of the new name.
thisNodeThe node to append to the end of the new name.

Definition at line 54 of file uniqueNameTraversal.h.

ssa_private::VarUniqueName::VarUniqueName ( const VarUniqueName other)
inline

Copy the attribute.

Parameters
otherThe attribute to copy from.

Definition at line 64 of file uniqueNameTraversal.h.

Member Function Documentation

const std::vector<SgInitializedName*>& ssa_private::VarUniqueName::getKey ( )
inline

Get a constant reference to the name.

Returns
Constant Reference to the name.

Definition at line 79 of file uniqueNameTraversal.h.

void ssa_private::VarUniqueName::setKey ( const std::vector< SgInitializedName * > &  newKey)
inline

Set the value of the name.

Parameters
newKeyThe new name to use.

Definition at line 88 of file uniqueNameTraversal.h.

std::string ssa_private::VarUniqueName::getNameString ( )
inline

Get the string representing this uniqueName.

Returns
The name string.

Definition at line 107 of file uniqueNameTraversal.h.


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