OA::NamedRef Class Reference

#include <MemRefExpr.hpp>

Inheritance diagram for OA::NamedRef:
Inheritance graph
[legend]
Collaboration diagram for OA::NamedRef:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 NamedRef (MemRefType mrType, SymHandle sh)
 NamedRef (NamedRef &mre)
 copy constructor
 NamedRef (MemRefExpr &mre, SymHandle sh)
 ~NamedRef ()
void acceptVisitor (MemRefExprVisitor &pVisitor)
OA_ptr< MemRefExprclone ()
 return a ptr to a copy of self
bool isaNamed ()
SymHandle getSymHandle ()
virtual std::string typeString ()
bool operator< (MemRefExpr &other)
bool operator== (MemRefExpr &other)
void output (IRHandlesIRInterface &ir)
virtual void dump (std::ostream &os, OA_ptr< IRHandlesIRInterface > pIR)
virtual void dump (std::ostream &os, IRHandlesIRInterface &pIR)
virtual void dump (std::ostream &os)
virtual int getOrder ()

Private Attributes

SymHandle mSymHandle

Static Private Attributes

static const int sOrder = 100

Detailed Description

A named memory reference has a SymHandle base. Examples include references involving local and global variables.

Definition at line 185 of file MemRefExpr.hpp.


Constructor & Destructor Documentation

OA::NamedRef::NamedRef ( MemRefType  mrType,
SymHandle  sh 
) [inline]

Definition at line 188 of file MemRefExpr.hpp.

Referenced by clone().

OA::NamedRef::NamedRef ( NamedRef mre  )  [inline]

copy constructor

Definition at line 192 of file MemRefExpr.hpp.

OA::NamedRef::NamedRef ( MemRefExpr mre,
SymHandle  sh 
) [inline]

Definition at line 194 of file MemRefExpr.hpp.

OA::NamedRef::~NamedRef (  )  [inline]

Definition at line 196 of file MemRefExpr.hpp.


Member Function Documentation

void OA::NamedRef::acceptVisitor ( MemRefExprVisitor pVisitor  )  [virtual]

Implements OA::MemRefExpr.

Definition at line 82 of file MemRefExpr.cpp.

References OA::MemRefExprVisitor::visitNamedRef().

Here is the call graph for this function:

OA_ptr< MemRefExpr > OA::NamedRef::clone (  )  [virtual]

return a ptr to a copy of self

Implements OA::MemRefExpr.

Definition at line 87 of file MemRefExpr.cpp.

References NamedRef().

Referenced by OA::Alias::RecordMREsVisitor::visitNamedRef(), and OA::equivalentMREsVisitor::visitNamedRef().

Here is the call graph for this function:

void OA::NamedRef::dump ( std::ostream &  os  )  [virtual]

Reimplemented from OA::MemRefExpr.

Definition at line 142 of file MemRefExpr.cpp.

References dump(), OA::IRHandle::hval(), and mSymHandle.

Here is the call graph for this function:

void OA::NamedRef::dump ( std::ostream &  os,
IRHandlesIRInterface pIR 
) [virtual]

Reimplemented from OA::MemRefExpr.

Definition at line 150 of file MemRefExpr.cpp.

References dump(), OA::IRHandle::hval(), mSymHandle, and OA::IRHandlesIRInterface::toString().

Here is the call graph for this function:

void OA::NamedRef::dump ( std::ostream &  os,
OA_ptr< IRHandlesIRInterface pIR 
) [virtual]

Reimplemented from OA::MemRefExpr.

Definition at line 161 of file MemRefExpr.cpp.

Referenced by dump().

virtual int OA::NamedRef::getOrder (  )  [inline, virtual]

Reimplemented from OA::MemRefExpr.

Definition at line 236 of file MemRefExpr.hpp.

References sOrder.

Referenced by operator<(), and operator==().

SymHandle OA::NamedRef::getSymHandle (  )  [inline]
bool OA::NamedRef::isaNamed (  )  [inline, virtual]

Reimplemented from OA::MemRefExpr.

Definition at line 206 of file MemRefExpr.hpp.

bool OA::NamedRef::operator< ( MemRefExpr other  ) 

References are ordered first between MemRefExpr subclasses based on their sOrder value. Then there is a consistent ordering within each subclass.

For NamedRef's ordering is done by SymHandle.

Definition at line 101 of file MemRefExpr.cpp.

References OA::MemRefExpr::getOrder(), getOrder(), and getSymHandle().

Here is the call graph for this function:

bool OA::NamedRef::operator== ( MemRefExpr other  ) 

check if two memory references are equal at the level of accuracy provided by the MemRefExpr approximation

Definition at line 117 of file MemRefExpr.cpp.

References OA::MemRefExpr::getOrder(), getOrder(), and getSymHandle().

Here is the call graph for this function:

void OA::NamedRef::output ( IRHandlesIRInterface ir  )  [virtual]

Reimplemented from OA::MemRefExpr.

Definition at line 132 of file MemRefExpr.cpp.

References mSymHandle, and OA::Annotation::sOutBuild.

virtual std::string OA::NamedRef::typeString (  )  [inline, virtual]

Reimplemented from OA::MemRefExpr.

Definition at line 212 of file MemRefExpr.hpp.


Member Data Documentation

Definition at line 240 of file MemRefExpr.hpp.

Referenced by dump(), getSymHandle(), and output().

const int OA::NamedRef::sOrder = 100 [static, private]

Reimplemented from OA::MemRefExpr.

Definition at line 239 of file MemRefExpr.hpp.

Referenced by getOrder().


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

Generated on Sat Oct 31 05:26:45 2009 for OpenAnalysis by  doxygen 1.6.1