OA::FieldAccess Class Reference

#include <MemRefExpr.hpp>

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

List of all members.

Public Member Functions

 FieldAccess (MemRefType mrType, OA_ptr< MemRefExpr > mre, std::string field)
 FieldAccess (FieldAccess &mre)
 copy constructor
 ~FieldAccess ()
void acceptVisitor (MemRefExprVisitor &pVisitor)
OA_ptr< MemRefExprclone ()
 return a ptr to a copy of self
bool isaFieldAccess ()
bool isSubClassOfSubSetRef ()
std::string getFieldName ()
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

std::string mFieldName

Static Private Attributes

static const int sOrder = 500

Detailed Description

The FieldAccess class indicates a field access to an object or struct, that is, a.b or a.foo(), not a->b nor b->foo().

Definition at line 778 of file MemRefExpr.hpp.


Constructor & Destructor Documentation

OA::FieldAccess::FieldAccess ( MemRefType  mrType,
OA_ptr< MemRefExpr mre,
std::string  field 
) [inline]

Definition at line 781 of file MemRefExpr.hpp.

Referenced by clone().

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

copy constructor

Definition at line 787 of file MemRefExpr.hpp.

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

Definition at line 789 of file MemRefExpr.hpp.


Member Function Documentation

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

Reimplemented from OA::SubSetRef.

Definition at line 858 of file MemRefExpr.cpp.

References OA::MemRefExprVisitor::visitFieldAccess().

Here is the call graph for this function:

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

return a ptr to a copy of self

Reimplemented from OA::SubSetRef.

Definition at line 863 of file MemRefExpr.cpp.

References FieldAccess().

Here is the call graph for this function:

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

Reimplemented from OA::SubSetRef.

Definition at line 926 of file MemRefExpr.cpp.

References OA::OA_ptr< T >::dump(), dump(), OA::RefOp::getMemRefExpr(), and mFieldName.

Here is the call graph for this function:

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

Reimplemented from OA::SubSetRef.

Definition at line 936 of file MemRefExpr.cpp.

References OA::OA_ptr< T >::dump(), dump(), OA::RefOp::getMemRefExpr(), and mFieldName.

Here is the call graph for this function:

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

Reimplemented from OA::SubSetRef.

Definition at line 946 of file MemRefExpr.cpp.

Referenced by dump().

std::string OA::FieldAccess::getFieldName (  )  [inline]
virtual int OA::FieldAccess::getOrder (  )  [inline, virtual]

Reimplemented from OA::SubSetRef.

Definition at line 830 of file MemRefExpr.hpp.

References sOrder.

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

bool OA::FieldAccess::isaFieldAccess (  )  [inline, virtual]

Reimplemented from OA::MemRefExpr.

Definition at line 799 of file MemRefExpr.hpp.

bool OA::FieldAccess::isSubClassOfSubSetRef (  )  [inline, virtual]

Reimplemented from OA::SubSetRef.

Definition at line 800 of file MemRefExpr.hpp.

bool OA::FieldAccess::operator< ( MemRefExpr other  )  [virtual]

For FieldAccess ordering is done by underlying reference and then then by FieldName.

Any subclasses to SubSetRef that are added later must handle FieldName (and IdxAccess) specifically, otherwise there will be inconsistent ordering.

Reimplemented from OA::SubSetRef.

Definition at line 878 of file MemRefExpr.cpp.

References getFieldName(), OA::RefOp::getMemRefExpr(), OA::MemRefExpr::getOrder(), and getOrder().

Here is the call graph for this function:

bool OA::FieldAccess::operator== ( MemRefExpr other  )  [virtual]

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

Reimplemented from OA::SubSetRef.

Definition at line 896 of file MemRefExpr.cpp.

References getFieldName(), OA::RefOp::getMemRefExpr(), OA::MemRefExpr::getOrder(), and getOrder().

Here is the call graph for this function:

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

Reimplemented from OA::SubSetRef.

Definition at line 912 of file MemRefExpr.cpp.

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

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

Reimplemented from OA::SubSetRef.

Definition at line 806 of file MemRefExpr.hpp.


Member Data Documentation

std::string OA::FieldAccess::mFieldName [private]

Definition at line 834 of file MemRefExpr.hpp.

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

const int OA::FieldAccess::sOrder = 500 [static, private]

Reimplemented from OA::SubSetRef.

Definition at line 833 of file MemRefExpr.hpp.

Referenced by getOrder().


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

Generated on Sat Oct 31 05:27:00 2009 for OpenAnalysis by  doxygen 1.6.1