#include <MemRefExpr.hpp>


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< MemRefExpr > | clone () |
| 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 |
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.
| 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.
| void OA::FieldAccess::acceptVisitor | ( | MemRefExprVisitor & | pVisitor | ) | [virtual] |
Reimplemented from OA::SubSetRef.
Definition at line 858 of file MemRefExpr.cpp.
References OA::MemRefExprVisitor::visitFieldAccess().

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

| 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.

| 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.

| 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] |
Definition at line 805 of file MemRefExpr.hpp.
References mFieldName.
Referenced by operator<(), operator==(), NotationGenerator::outputMemRefExpr(), OA::Alias::InvisibleLocationVisitor::visitFieldAccess(), OA::Alias::OuterRefOpVisitor::visitFieldAccess(), and OA::Alias::FixedLocationVisitor::visitFieldAccess().
| 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().

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

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